Изображение в текст Java

Будь то распознавание текста из отсканированных документов или извлечение данных из изображений, возможность преобразования изображений в текст открыла новые возможности. В этом сообщении блога мы научимся преобразовывать изображение в текст на Java, изучая использование оптического распознавания символов (OCR) для распознавания и извлечения текста из изображений.

Что такое ОКР?

Оптическое распознавание символов (OCR) — это технология, которая преобразует различные типы документов, например отсканированные бумажные документы, PDF-файлы или изображения, в данные, доступные для редактирования и поиска. В нашем случае мы сосредоточимся на использовании OCR для распознавания текста на изображениях в Java.

Зачем конвертировать изображение в текст?

Преобразование изображений в текст может упростить процессы ввода данных, обеспечить текстовый поиск в изображениях и облегчить интеграцию данных изображений в различные приложения. Независимо от того, имеете ли вы дело со сканированными документами, фотографиями или скриншотами, возможность читать текст с изображений может изменить правила игры.

Преобразование изображения в текст с помощью OCR в Java

Вам необходимо выполнить следующие шаги, чтобы преобразовать изображение в текст с помощью OCR в Java:

  • Установите Conholdate.Total для Java в свою систему.
  • Создайте экземпляр API OCR с классом AsposeOCR.
  • Укажите параметры с помощью класса RecognitionSettings.
  • Установите фильтры обработки с помощью объекта класса PreprocessingFilter.
  • Подготовьте изображение с помощью экземпляра класса OcrInput.
  • Распознавайте изображения с помощью метода Recounce.

В приведенном ниже фрагменте кода показано, как преобразовать изображение в текст в Java:

// Создать экземпляр API OCR
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();

// Укажите настройки распознавания
com.aspose.ocr.RecognitionSettings settings = new com.aspose.ocr.RecognitionSettings();
settings.setDetectAreasMode(com.aspose.ocr.DetectAreasMode.PHOTO);
settings.setUpscaleSmallFont(true);

// Установить фильтры обработки
com.aspose.ocr.PreprocessingFilter filters = new com.aspose.ocr.PreprocessingFilter();
filters.add(com.aspose.ocr.PreprocessingFilter.AutoDenoising());

// Подготовить изображение
com.aspose.ocr.OcrInput images = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage, filters);
images.add("source.png");

// Распознавание изображений
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(images, settings);
results.forEach((result) ->{
	System.out.println(result.recognitionText);
});

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

В некоторых случаях вам необходимо распознать текст из определенной области изображения. Соответственно, вы можете установить одну или несколько прямоугольных координат для распознавания текста с помощью OCR в Java. Следующие шаги подробно описывают процесс преобразования изображений JPG или PNG в текст с использованием Java:

  • Настройте Conholdate.Total для Java на своей стороне.
  • Подготовьте список прямоугольников, содержащих текст, с помощью класса ArrayList.
  • Подготовьте входное изображение с помощью класса OcrInput.
  • Создайте экземпляр API с классом AsposeOCR.
  • Распознайте текст и получите выходные данные с помощью класса RecognitionResult.

В следующем примере кода объясняется, как преобразовать изображение в текст с распознаванием определенных регионов с помощью Java:

// подготовить прямоугольники с текстами
ArrayList rectArray = new ArrayList();
rectArray.add(new java.awt.Rectangle(138, 352, 2033, 537));
rectArray.add(new java.awt.Rectangle(147, 890, 2033, 1157));

// Установите настройки для распознавания
com.aspose.ocr.RecognitionSettings recognitionSettings = new com.aspose.ocr.RecognitionSettings();
recognitionSettings.setRecognitionAreas(rectArray);

// Подготовить изображение
com.aspose.ocr.OcrInput oi = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage);
oi.add("source.png");

// создать экземпляр API
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();

// Распознавание изображений
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(oi, recognitionSettings);
results.forEach((result) ->{
	System.out.println(result.recognitionText);
});

Бесплатная пробная лицензия

Вы можете получить бесплатную временную лицензию для преобразования изображений в текст с помощью оптического распознавания символов с использованием Java без каких-либо ограничений по ознакомлению.

Подведение итогов

В этом сообщении блога мы рассмотрели преобразование изображений в текст в Java с помощью OCR. Вы можете легко интегрировать преобразование изображения в текст в свои приложения. Независимо от того, работаете ли вы с JPG, PNG или другими форматами изображений, возможность читать текст с изображений открывает мир возможностей для обработки и анализа данных. Однако, если вы хотите адаптировать код под свои требования или обсудить возникшие вопросы, смело пишите нам на форум.

Смотрите также