Вы можете преобразовать текст с изображения в редактируемый формат с помощью оптического распознавания символов (OCR). Такие изображения, как JPG, PNG, TIFF, BMP, GIF и т. д., широко используются в Интернете, и вам может потребоваться распознавать текст с онлайн-изображения. Вы можете легко использовать URL-ссылку на это изображение, чтобы выполнить на нем распознавание текста, вместо того, чтобы сохранять или загружать файл. Подробности обсуждаются в следующих заголовках:
- Java OCR API — установка
- Распознайте текст, выполнив OCR на изображении с URL-адреса с помощью Java
- Распознавание текста из перекошенного или наклонного изображения с помощью OCR с использованием Java
Java OCR API — установка
Aspose.OCR for Java API можно использовать для выполнения операций оптического распознавания символов на изображениях. Он может распознавать текст и преобразовывать изображение в редактируемый текст. Загрузите JAR-файл API из раздела Загрузки или укажите следующие конфигурации Maven в файле pom.xml вашего проекта:
Репозиторий:
<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>
Распознайте текст, выполнив OCR на изображении с URL-адреса с помощью Java
Вы можете выполнить оптическое распознавание символов на изображении из URL-адреса, выполнив следующие действия:
- Создайте экземпляр API с классом AsposeOCR.
- Укажите URI изображения.
- Задайте параметры распознавания с помощью класса RecognitionSettings.
- Получить объект результата.
- Распечатать результат.
В следующем коде объясняется, как распознавать текст, выполняя распознавание текста по URL-адресу программно с помощью Java:
//Создать экземпляр API
AsposeOCR api = new AsposeOCR();
// Укажите URI изображения
String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
// Установить параметры распознавания
RecognitionSettings settings = new RecognitionSettings();
settings.setAutoSkew(false);
ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);
// Получить объект результата
RecognitionResult result = null;
try {
result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
e.printStackTrace();
}
// Распечатать результат
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
System.out.println(text);
}
Распознавание текста из перекошенного или наклонного изображения с помощью OCR с использованием Java
Иногда изображение может быть наклонено или перекошено по какой-либо причине. Например, изображение, созданное камерой или сканером, может быть немного перекошено, тогда вы можете получить угол перекоса входного изображения. Вы можете повысить точность распознавания текста, зная и корректируя угол наклона. Вам необходимо выполнить следующие шаги:
- Создайте экземпляр API, используя объект AsposeOCR.
- Установите параметры распознавания.
- Рассчитать и установить угол наклона.
- Получите результат с помощью объекта RecognitionResult и распечатайте его.
В приведенном ниже коде показано, как программно распознавать текст на искаженном изображении с помощью OCR на Java:
//Создать экземпляр API
AsposeOCR api = new AsposeOCR();
String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
BufferedImage image = null;
try{
java.net.URL url =new java.net.URL(uri);
// прочитать URL-адрес
image = ImageIO.read(url);
}catch(IOException e){
e.printStackTrace();
}
// установить параметры распознавания
RecognitionSettings settings = new RecognitionSettings();
double angle = 0;
// Получить угол наклона
try {
angle = api.CalcSkewImage(image);
System.out.println("Skew text is:" + angle + " degrees.");
} catch (IOException e1) {
e1.printStackTrace();
}
settings.setSkew(angle);
ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);
// получить объект результата
RecognitionResult result = null;
try {
result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
e.printStackTrace();
}
// распечатать результат
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
System.out.println(text);
}
Получить бесплатную лицензию API
Вы можете запросить Бесплатную временную лицензию, чтобы оценить API в полном объеме.
Вывод
В заключение вы узнали, как распознавать текст, выполняя операции OCR над изображением с любого URL-адреса. Кроме того, вы узнали, как исправить угол наклона изображения, чтобы повысить точность и эффективность API. Вы можете ознакомиться с некоторыми другими функциями API, посетив Документацию, или свяжитесь с нами через Форум бесплатной поддержки в случае возникновения каких-либо вопросов.