[Семидневная проверка] SpringBoot+Tess4j реализует мощный инструмент распознавания OCR.

задняя часть

предисловие

" Не могу дождаться, когда ветер обдует твои щеки

Слезы так прекрасны

Не могу дождаться дождя

Мои слезы замечены тобой "

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

основное введение

Официальный сайт выглядит следующим образом

tesseract-ocr.github.io/

Лаконично и лаконично, сайт висит на гитхабе.

Подробности больше не вводятся.Если вам интересно, вы можете войти на гей-сайт:GitHub.com/t-gentle-act-oh…, наблюдайте и учитесь.

Практическая подготовка

Чтобы использовать его в разработке, вам все равно нужно получить доступ к соответствующему API.

Для разработчиков предусмотрено множество оболочек для реализации вызовов API.

Для небольшого разработчика на Java tess4j по-прежнему используется в качестве API. Официальный сайт выглядит следующим образом:

tess4j.sourceforge.net/

Вы можете загрузить пакет jar напрямую или использовать Maven, чтобы зависеть от загрузки.

<!-- https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j -->
<dependency>
   <groupId>net.sourceforge.tess4j</groupId>
   <artifactId>tess4j</artifactId>
   <version>4.5.3</version>
</dependency>

Разработка и внедрение

Сначала создайте проект

Второе добавление зависимостей
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>org.example</groupId>
   <artifactId>test-textocr</artifactId>
   <version>1.0-SNAPSHOT</version>
   <dependencies>
       <!-- https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j -->
       <dependency>
           <groupId>net.sourceforge.tess4j</groupId>
           <artifactId>tess4j</artifactId>
           <version>4.5.3</version>
       </dependency>

   </dependencies>

</project>
Третий Заполните файл класса
package ocr;

import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;


/**
* ocr测试.
*
* @author huc_逆天
* @since 2021/1/12 17:42
*/
public class TestTextOcr {

   public static void main(String[] args) throws IOException {
        // 创建实例
       ITesseract instance = new Tesseract();

        // 设置识别语言

       instance.setLanguage("chi_sim");

        // 设置识别引擎

       instance.setOcrEngineMode(1);

        // 读取文件

       BufferedImage image = ImageIO.read(TestTextOcr.class.getResourceAsStream("/2.jpg"));
       try {

            // 识别

           String result = instance.doOCR(image);
           System.out.println(result);
      } catch (TesseractException e) {
           System.err.println(e.getMessage());
      }


  }
}

Пятое. Добавление конфигурации языкового стандарта для обучения.

TESSDATA_PREFIX=F:\tessdata , имя переменной, исправлено, значением является файл загрузки с официального сайтаGitHub.com/t-gentle-act-oh…

Шестой запуск

Результат выглядит следующим образом:

Может распознает режим, не очень подходит, переключите его

instance.setOcrEngineMode(0);

Это удобнее, ха-ха. Уровень узнаваемости мгновенно вырос.

Вы можете проверить это сами.

Суммировать

Хорошо, это все на сегодня. Техника подбрасывает. Узнайте больше, вооружитесь и станьте сильнее.