前言

现在的手机已经可以实现拍照转文字了。作为一名程序员,得使用java代码实现这一功能,虽然可能没啥用!!!

pom.xml

添加依赖

<dependency>
    <groupId>net.sourceforge.tess4j</groupId>
    <artifactId>tess4j</artifactId>
    <version>3.2.1</version>
</dependency>

这个依赖有点东西啊,32M。

test.java

 1     public static void main(String[] args) {
 2         System.out.println("---------------------start--------------------------");
 3         Tesseract tesseract = new Tesseract();
 4         tesseract.setDatapath("D://DataScience//tessdata");
 5         // tesseract.setLanguage("chi_sim");
 6         try {
 7             System.out.println(tesseract.doOCR(new File("C:\\Users\\caofei\\Desktop\\2.png")));
 8         } catch (TesseractException e) {
 9             e.printStackTrace();
10         }
11         
12         System.out.println("----------------------end---------------------------");
13     }

1.第三行,实例化一个Tesseract对象。

2.第四行,我们要实现这一功能,得需要光学字符识别工具,就像硬件设备一样(但不是真的设备,就是模型设置数据),我们要提供路径。

 

 我下载了两个文件,eng前缀的代表英文的,chi_sim代表简体中文的。每一种语言对应一个。这些模型数据的下载地址

是:https://github.com/tesseract-ocr/tesseract/wiki/Data-Files

里面什么语言都有,也有这项技术的简介。

3.第七号,我准备的图片2.png

 

 

 执行这个main方法,控制台就会输入我们想要的内容

 

 4.第五号我注掉了,这个工具的默认语言是英文。

 

 如果我们想转其他语言的图片,就需要像第五行这样指定。语言不匹配,会出现乱码。

 

版权声明:本文为fengyuduke原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/fengyuduke/p/11976234.html