java代码实现图片内容转文字
前言
现在的手机已经可以实现拍照转文字了。作为一名程序员,得使用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.第五号我注掉了,这个工具的默认语言是英文。
如果我们想转其他语言的图片,就需要像第五行这样指定。语言不匹配,会出现乱码。