
Przegląd
Rozpoznawanie znaków optycznych (OMR) to proces elektroniczny, który ułatwia odczytywanie i uchwytywanie danych zaznaczonych przez ludzi na specjalnie zaprojektowanych formularzach dokumentów, takich jak testy czy ankiety, które zawierają zaznaczone bąbelki lub kwadratowe odpowiedzi wypełnione przez użytkowników. Korzystając z ekstrakcji danych z obrazów w Javie, możemy efektywnie obsługiwać zeskanowane obrazy tych formularzy ankietowych, kwestionariuszy lub arkuszy testowych, co umożliwia odczytanie danych wejściowych użytkowników programowo. Ten artykuł poprowadzi Cię przez proces wykonywania OMR i ekstrakcji danych z obrazów przy użyciu Javy.
W artykule omówione zostaną następujące tematy:
- Java OMR API do ekstrakcji danych z obrazu
- Ekstrakcja danych z obrazów w Javie
- Wykonaj OMR i ekstrakcję danych z wielu obrazów
- Ekstrakcja danych OMR z progiem
- Ekstrakcja danych OMR z przeliczeniem
Java OMR API do ekstrakcji danych z obrazu
Aby przeprowadzić operacje OMR i ekstrakcję danych z obrazów w Javie, użyjemy Aspose.OMR dla Java API. To potężne narzędzie umożliwia projektowanie, tworzenie i rozpoznawanie arkuszy odpowiedzi, testów, papierów MCQ, quizów, formularzy opinii, ankiet i głosów.
Klasa OmrEngine w API jest odpowiedzialna za tworzenie szablonów i przetwarzanie obrazów. Jej metoda getTemplateProcessor(String templatePath) inicjalizuje instancję TemplateProcessor dostosowaną do obsługi szablonów i obrazów. Aby rozpoznać obraz, można wykorzystać metodę recognizeImage(String imagePath), która zwraca wszystkie elementy OMR jako instancję klasy RecognitionResult. Używając metody getCsv(), można wygenerować ciąg CSV zawierający wyniki rozpoznawania. Dodatkowo, metoda recalculate(RecognitionResult result, int recognitionThreshold) ulepsza wyniki rozpoznawania z dostosowanymi parametrami.
Proszę pobrać JAR API lub dodać poniższą konfigurację pom.xml w aplikacji Java opartej na Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-omr</artifactId>
<version>19.12</version>
</dependency>
Ekstrakcja danych z obrazów w Javie
Aby przeprowadzić operację OMR, wymagamy przygotowanego pliku szablonu OMR (.omr) oraz obrazu wypełnionych przez użytkowników formularzy lub arkuszy. Proces ekstrakcji danych z obrazów w Javie, szczególnie przy użyciu operacji OMR, obejmuje następujące kroki:
- Najpierw utwórz instancję klasy OmrEngine.
- Następnie wywołaj metodę getTemplateProcessor() i zainicjalizuj obiekt klasy TemplateProcessor, przekazując ścieżkę do pliku szablonu OMR jako argument.
- Potem uzyskaj obiekt RecognitionResult wywołując metodę recognizeImage() z ścieżką obrazu jako argumentem.
- Po tym uzyskaj wyniki rozpoznawania jako ciągi CSV używając metody getCsv().
- Na koniec zapisz wynik CSV jako plik CSV na lokalnym dysku.
Poniższy przykład kodu demonstruje, jak przeprowadzić ekstrakcję danych z obrazów w Javie poprzez konwersję danych OMR do formatu CSV.

Wykonaj OMR i ekstrakcję danych z obrazu w Javie.
Proszę pobrać szablon OMR użyty w tym wpisie na blogu.
Wykonaj OMR i ekstrakcję danych z wielu obrazów
Możemy przeprowadzić operacje OMR na wielu obrazach i wyodrębnić dane w osobnym pliku CSV dla każdego z nich, korzystając z wcześniej opisanych kroków. Aby zrealizować ekstrakcję danych z obrazów w Javie, konieczne jest powtórzenie kroków 3, 4 i 5 dla wszystkich obrazów indywidualnie.
Poniżej znajduje się przykład kodu demonstrujący, jak wyodrębnić dane OMR z wielu obrazów przy użyciu Javy.
. Lista danych, niezależnie od tego, czy jest wypunktowana, czy numerowana, musi pozostać całkowicie niezmieniona.
Ekstrakcja danych OMR z progiem w Javie
Aby wykonać operacje Rozpoznawania Znaków Optycznych (OMR) w Javie, wykorzystujemy wartość progu między 0 a 100 w zależności od konkretnych wymagań. Ta wartość progu, używana w ekstrakcji danych z obrazów w Javie, decyduje o tym, jak rygorystyczne będzie API w podkreślaniu odpowiedzi; wyższa wartość zwiększa surowość. Przestrzeganie wcześniej wspomnianych kroków jest niezbędne do przetwarzania OMR z wybranym progiem. W szczególności, w kroku #3, należy wywołać metodę recognizeImage(string, int32). Ta przeciążona metoda wymaga ścieżki do pliku obrazu oraz żądanej wartości progu jako parametrów.
Poniższy przykład kodu demonstruje jak przeprowadzić OMR z wartością progu przy użyciu Javy:
Ekstrakcja danych OMR z przeliczeniem w Javie
Podczas pracy z precyzyjną ekstrakcją danych z obrazów w Javie, szczególnie w odniesieniu do OMR, może być konieczne przeliczenie wyników przy użyciu różnych wartości progowych. Konfigurując API, przeliczenie można zautomatyzować za pomocą metody TemplateProcessor.recalculate(). To podejście pozwala na wielokrotne przetwarzanie obrazów poprzez dostosowanie progu aż do uzyskania pożądanego wyniku. Aby skutecznie przeprowadzić operację OMR z przeliczeniem, wykonaj poniższe kroki:
- Najpierw utwórz instancję klasy OmrEngine.
- Następnie wywołaj metodę getTemplateProcessor() i zainicjalizuj obiekt klasy TemplateProcessor. Wymaga to przekazania ścieżki do pliku szablonu OMR jako argumentu.
- Potem uzyskaj obiekt RecognitionResult wywołując metodę recognizeImage() z ścieżką obrazu jako argumentem.
- Następnie eksportuj wyniki rozpoznawania jako ciąg CSV używając metody getCsv().
- Potem zapisz wynik CSV jako plik CSV na lokalnym dysku.
- Następnie wywołaj metodę recalculate(). Przyjmuje ona obiekt RecognitionResult oraz wartość progu jako argumenty.
- Po tym eksportuj wyniki rozpoznawania jako ciąg CSV używając metody getCsv().
- Na koniec zapisz wynik CSV jako plik CSV na lokalnym dysku.
Poniższy przykład kodu demonstruje jak przeprowadzić OMR z metodą przeliczenia przy użyciu Javy:
.
Uzyskaj darmową licencję
Masz możliwość uzyskania darmowej tymczasowej licencji na wypróbowanie biblioteki bez ograniczeń oceny. To świetny sposób na odkrycie funkcji, takich jak ekstrakcja danych z obrazów w Javie, pozwalający na pełną ocenę jej możliwości. Poniższe dane dotyczące listy pozostają niezmienione dla Twojej informacji:
- Biblioteka działa efektywnie z dużymi wolumenami danych.
- Integracja z istniejącymi systemami jest płynna.
- Ekstrahowane dane są wysoce dokładne i niezawodne.
- Kroki instalacji są proste i dobrze udokumentowane.
Podsumowanie
W tym artykule nauczyliśmy się, jak:
- przeprowadzić operację OMR na obrazach;
- wyodrębnić dane w formacie CSV programowo;
- zastosować ustawienie progu podczas wykonywania OMR na obrazach;
- przeliczyć wyniki OMR w procesie automatycznym przy użyciu Javy.
Dodatkowo, przy pracy z ekstrakcją danych z obrazów w Javie, możesz dowiedzieć się więcej o API Aspose.OMR dla Java przeglądając dokumentację. Jeśli napotkasz jakiekolwiek problemy, nie wahaj się skontaktować z nami na naszym darmowym forum wsparcia.