
Будь то распознавание текста из отсканированных документов или извлечение данных из изображений, возможность преобразования изображений в текст открыла новые возможности. В этом сообщении блога мы научимся преобразовывать изображение в текст на 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 или другими форматами изображений, возможность читать текст с изображений открывает мир возможностей для обработки и анализа данных. Однако, если вы хотите адаптировать код под свои требования или обсудить возникшие вопросы, смело пишите нам на форум.