前言
現在的手機已經可以實現拍照轉文字了。作為一名程序員,得使用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.第五號我注掉了,這個工具的默認語言是英文。
如果我們想轉其他語言的圖片,就需要像第五行這樣指定。語言不匹配,會出現亂碼。