Wykonaj OCR przy użyciu języka Java

Technologia Optical Character Recognition (OCR) umożliwiła rozpoznawanie i odczytywanie tekstu w zeskanowanych dokumentach i obrazach. OCR umożliwia konwersję tekstu tylko do odczytu na formę edytowalną. Przekonwertowany tekst może być dalej przetwarzany do operacji, takich jak analiza tekstu. W tym artykule pokażę, jak wykonać OCR na obrazach (PNG, JPG, BMP i GIF) oraz przekonwertować obrazy na tekst przy użyciu Java OCR API - Aspose.OCR for Java.

Wskazówka: Być może zainteresuje Cię darmowy Konwerter tekstu na GIF, który umożliwia generowanie animacji z tekstów.

Java OCR API — instalacja

Aspose.OCR for Java można pobrać jako JAR lub zainstalować w aplikacji opartej na Maven przy użyciu następujących konfiguracji.

Magazyn:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

Zależność:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-ocr</artifactId>
    <version>20.5</version>
</dependency>

Konwertuj obraz na tekst za pomocą Java

Najczęściej obrazy do OCR to strony zeskanowanych dokumentów, faktur, paragonów, rachunków itp., gdzie tekst składa się z wielu linii. W takich sytuacjach musisz pobrać cały tekst z obrazu. Poniżej przedstawiono kroki, aby wykonać OCR na obrazie zawierającym wiele wierszy tekstu przy użyciu Aspose.OCR for Java.

Poniższy przykładowy kod pokazuje, jak wykonać rozpoznawanie OCR na obrazie i przekonwertować obraz na tekst przy użyciu języka Java.

// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-ocr/Aspose.OCR-for-Java
// Ścieżka do katalogu dokumentów.
String dataDir = Utils.getSharedDataDir(PerformOCROnPage.class);

// Ścieżka obrazu
String imagePath = dataDir + "p3.png";

//Utwórz instancję interfejsu API
AsposeOCR api = new AsposeOCR();

// Rozpoznaj stronę po pełnej ścieżce do pliku
try {
	String result = api.RecognizePage(imagePath);
	System.out.println("Result: " + result);
} catch (IOException e) {
	e.printStackTrace();
}

Konwertuj obrazy posiadające pojedynczą linię tekstu

W poprzednim przykładzie wykonaliśmy rozpoznawanie OCR na obrazie zawierającym wiele wierszy tekstu. Może się jednak zdarzyć, że obraz zawiera pojedynczą linię tekstu. W takim przypadku możesz odpowiednio skonfigurować API. Poniżej przedstawiono kroki konwersji obrazu zawierającego pojedynczą linię tekstu.

Poniższy przykładowy kod pokazuje, jak wykonać rozpoznawanie OCR na obrazie zawierającym jeden wiersz tekstu przy użyciu języka Java.

// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-ocr/Aspose.OCR-for-Java
// Ścieżka do katalogu dokumentów.
String dataDir = Utils.getSharedDataDir(RecognizeLine.class);

// Ścieżka obrazu
String imagePath = dataDir + "0001460985.Jpeg";

//Utwórz instancję interfejsu API
AsposeOCR api = new AsposeOCR();

try {
	String result = api.RecognizeLine(imagePath);
	System.out.println("File: " + imagePath);
	System.out.println("Result line: " + result);
} catch (IOException e) {
	e.printStackTrace();
}

Wniosek

W tym artykule widziałeś, jak konwertować obrazy PNG, JPG, BMP i GIF na tekst za pomocą Java OCR API. Przykładowe kody pokazują, jak wykonać rozpoznawanie OCR na obrazach zawierających jeden lub wiele wierszy tekstu w aplikacjach Java. Możesz dowiedzieć się więcej o API Java OCR firmy Aspose, korzystając z dokumentacja.

Zobacz też