现在的手机已经可以实现拍照转文字了。作为一名程序员,得使用java代码实现这一功能,虽然可能没啥用!!!
pom.xml
添加依赖
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>3.2.1</version>
</dependency>
这个依赖有点东西啊,32M。
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.第五号我注掉了,这个工具的默认语言是英文。
如果我们想转其他语言的图片,就需要像第五行这样指定。语言不匹配,会出现乱码。