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

Вы можете преобразовать текст с изображения в редактируемый формат с помощью оптического распознавания символов (OCR). Такие изображения, как JPG, PNG, TIFF, BMP, GIF и т. д., широко используются в Интернете, и вам может потребоваться распознавать текст с онлайн-изображения. Вы можете легко использовать URL-ссылку на это изображение, чтобы выполнить на нем распознавание текста, вместо того, чтобы сохранять или загружать файл. Подробности обсуждаются в следующих заголовках:

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-адреса, выполнив следующие действия:

  1. Создайте экземпляр API с классом AsposeOCR.
  2. Укажите URI изображения.
  3. Задайте параметры распознавания с помощью класса RecognitionSettings.
  4. Получить объект результата.
  5. Распечатать результат.

В следующем коде объясняется, как распознавать текст, выполняя распознавание текста по 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, посетив Документацию, или свяжитесь с нами через Форум бесплатной поддержки в случае возникновения каких-либо вопросов.

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