Możesz rozpoznać określone znaki na obrazach, wykonując operacje optycznego rozpoznawania znaków. Na przykład możesz rozpoznać bąbelki wypełnione w kwestionariuszu, ankiecie lub egzaminie w formie pytań wielokrotnego wyboru. Więcej informacji można znaleźć w następujących sekcjach:

Rozpoznawanie znaków optycznych — instalacja interfejsu API języka C#

Możesz skonfigurować Aspose.OMR for .NET API w swoich aplikacjach C#, pobierając bibliotekę DLL z sekcji Downloads lub za pośrednictwem galerii NuGet za pomocą następującego polecenia instalacyjnego:

PM> Install-Package Aspose.OMR

Rozpoznaj obraz z MemoryStream przy użyciu OMR w C#

Czasami obrazy są przechowywane w bazie danych lub jakimś zdalnym zasobie i możesz załadować te pliki w MemoryStream. Podobnie, może istnieć wiele scenariuszy, w których zapisanie obrazu na dysku, a następnie załadowanie go do przetworzenia może być narzutem. Możesz więc wygodnie załadować obraz do strumienia i wykonać na nim operacje OMR. Poniżej znajdują się kroki, aby rozpoznać obraz z MemoryStream:

  1. Pobierz szablon do rozpoznania.
  2. Zainicjuj obiekt klasy OmrEngine.
  3. Rozpoznaj obraz w MemoryStream metodą RecognizeImage.
  4. Zapisz plik wyjściowy z instancją klasy RecognitionResult.

Poniższy kod pokazuje, jak rozpoznać obraz z MemoryStream z OMR w C#:

// Pobierz szablon do rozpoznania
string templatePath = "Sheet.omr";

// Pobierz obraz do rozpoznania
string imagePath = "Sheet1.JPG";

// Zainicjuj obiekt klasy OmrEngine
OmrEngine engine = new OmrEngine();

// Ustaw szablon do rozpoznania
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);

using (Image image = Image.FromFile(imagePath))
{
    using (MemoryStream ms = new MemoryStream())
    {
        image.Save(ms, image.RawFormat);
        ms.Flush();

        // Rozpoznaj obraz
        Aspose.OMR.Model.RecognitionResult result = templateProcessor.RecognizeImage(ms);

        var stringRes = result.GetCsv();
        File.WriteAllText(Path.GetFileNameWithoutExtension(imagePath) + ".csv", stringRes);
    }
}

Przetwarzanie wsadowe obrazów w celu rozpoznania za pomocą OMR przy użyciu języka C#

Możesz przetwarzać serię obrazów w folderze i rozpoznawać znaki za pomocą optycznego rozpoznawania znaków. Wykonaj następujące kroki, aby rozpoznać grupę obrazów:

  1. Pobierz szablon OMR do rozpoznania.
  2. Uzyskaj RecognitionResult wszystkich obrazów za pomocą metody RecognizeFolder.
  3. Zapisz dane wyjściowe jako plik CSV.

Poniższy kod wyjaśnia, jak programowo przetworzyć partię obrazów do optycznego rozpoznawania znaków przy użyciu języka C#:

// Pobierz szablon do rozpoznania
string templatePath = "Sheet.omr";

// Pobierz folder zawiera obrazy do rozpoznania
string folderPath = "D:\images\";

OmrEngine engine = new OmrEngine();

// Ustaw szablon do rozpoznania
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);

// Rozpoznaj obrazy z folderu
Aspose.OMR.Model.RecognitionResult[] result = templateProcessor.RecognizeFolder(folderPath);

for (int i = 0; i < result.Length; i++)
{
    var stringRes = result[i].GetCsv();
    File.WriteAllText(folderPath  + (i+1) + ".csv", stringRes);
}

Uzyskaj bezpłatną licencję API

Możesz ocenić interfejs API bez żadnych ograniczeń, prosząc o Bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się rozpoznawać obraz z MemoryStream przy użyciu OMR w języku C#. Omówiono również rozpoznawanie wszystkich obrazów w folderze i zapisywanie wyników jako plików CSV, wartości rozdzielanych przecinkami, plików. Ponadto możesz zapoznać się z innymi funkcjami API, odwiedzając Dokumentację. Zawsze możesz skontaktować się z nami na Free Support Forum w przypadku jakichkolwiek wątpliwości.

Zobacz też