Виконайте OCR за допомогою Java

Технологія Optical Character Recognition(OCR) дозволила розпізнавати та читати текст у відсканованих документах і зображеннях. OCR дозволяє конвертувати текст, доступний лише для читання, у форму, яку можна редагувати. Перетворений текст можна додатково обробити для таких операцій, як аналіз тексту. У цій статті я покажу вам, як розпізнати зображення (PNG, JPG, BMP і GIF) і перетворити зображення на текст за допомогою Java OCR API - Aspose.OCR for Java.

Порада. Вас може зацікавити безкоштовний Text to GIF Converter, який дозволяє створювати анімацію з текстів.

Java OCR API - встановлення

Aspose.OCR for Java можна завантажити як JAR або встановити в програмі на основі 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-ocr</artifactId>
    <version>20.5</version>
</dependency>

Перетворення зображення на текст за допомогою Java

Найчастіше зображеннями для OCR є сторінки сканованих документів, рахунків-фактур, квитанцій, рахунків тощо, де текст складається з кількох рядків. У таких сценаріях вам потрібно отримати весь текст із зображення. Нижче наведено кроки для виконання оптичного розпізнавання символів на зображенні, що містить кілька рядків тексту, за допомогою Aspose.OCR for Java.

  • Створіть екземпляр класу AsposeOcr.
  • Перетворіть зображення на текст за допомогою методу AsposeOcr.recognizePage(String fullPath), передавши шлях до зображення.
  • Отримати перетворений текст у рядковий об’єкт.

У наведеному нижче прикладі коду показано, як виконати розпізнавання тексту на зображенні та перетворити зображення на текст за допомогою Java.

// Щоб отримати повні приклади та файли даних, перейдіть на сторінку https://github.com/aspose-ocr/Aspose.OCR-for-Java
// Шлях до каталогу документів.
String dataDir = Utils.getSharedDataDir(PerformOCROnPage.class);

// Шлях зображення
String imagePath = dataDir + "p3.png";

//Створіть екземпляр API
AsposeOCR api = new AsposeOCR();

// Розпізнавати сторінку за повним шляхом до файлу
try {
	String result = api.RecognizePage(imagePath);
	System.out.println("Result: " + result);
} catch (IOException e) {
	e.printStackTrace();
}

Перетворюйте зображення з одним рядком тексту

У попередньому прикладі ми виконали оптичне розпізнавання тексту на зображенні з кількома рядками тексту. Однак може бути випадок, коли зображення містить один рядок тексту. Для такого випадку ви можете відповідним чином налаштувати API. Нижче наведено кроки для перетворення зображення з одним рядком тексту.

  • Створіть об’єкт класу AsposeOcr.
  • Перетворіть зображення на текст за допомогою методу AsposeOcr.recognizeLine(String fullPath).
  • Отримати результат у рядковому об’єкті.

Наведений нижче зразок коду показує, як виконати розпізнавання тексту на зображенні з одним рядком тексту за допомогою Java.

// Щоб отримати повні приклади та файли даних, перейдіть на сторінку https://github.com/aspose-ocr/Aspose.OCR-for-Java
// Шлях до каталогу документів.
String dataDir = Utils.getSharedDataDir(RecognizeLine.class);

// Шлях зображення
String imagePath = dataDir + "0001460985.Jpeg";

//Створіть екземпляр 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();
}

Висновок

У цій статті ви побачили, як перетворювати зображення PNG, JPG, BMP і GIF на текст за допомогою Java OCR API. Зразки коду показують, як виконувати оптичне розпізнавання тексту на зображеннях, які містять один або кілька рядків тексту, у програмах Java. Ви можете дізнатися більше про Java OCR API Aspose за допомогою документації.

Дивись також