補充:
Tess4j OCR圖像識別框架集成
Tesseract,
一款由HP實驗室開發由Google維護的開源
OCR(Optical Character Recognition , 光學字符識別)引擎,
與Microsoft Office Document Imaging(MODI)相比,
我們可以不斷的訓練的庫,使圖像轉換文本的能力不斷增強;
如果團隊深度需要,還可以以它為模板,開發出符合自身需求的OCR引擎。
Tess4J 是Java (JNA) 對 Tesseract OCR API 的封裝。
下載Tess4J的相關資源(一個壓縮包),官網:http://tess4j.sourceforge.net/codesample.html
lib文件夾下放的是需要用到的Jar包,
tessdata下放的是語言庫,默認的有英語庫,
中文庫需要另外下載,下載地址
tessdata中的一個文件:osd.traineddata
文字的方向檢測 Orientation and script detection (OSD)
簡單構建一個tess4j項目
新建一個Java項目,
將lib文件夾和tessdata文件夾復制到項目的根目錄下,
找到dist文件夾下的tess4j.jar(名字可能有版本號),
將該文件也復制到項目根目錄下的lib文件夾下。
maven構建jess4j項目
1,將所需jar包引入pom.xml
<dependencies> <dependency> <groupId>net.sourceforge.tess4j</groupId> <artifactId>tess4j</artifactId> <version>4.4.0</version> </dependency> </dependencies>
2,引用語言包
在任意地方創建一個文件夾tessdata,
將下載的chi_sim.traineddata(中文) 和 eng.traineddata(英文)語言包存放在該目錄下,
也可以直接存放到自己項目的resources/tessdata目錄下。
語言庫下載地址:https://github.com/tesseract-ocr/tessdata
3,例子:
// 識別圖片的路徑(修改為自己的圖片路徑) String path = "D:\\test.jpg"; // 語言庫位置(修改為跟自己語言庫文件夾的路徑) String lagnguagePath = "D:\\tessdata"; File file = new File(path); ITesseract instance = new Tesseract(); //設置訓練庫的位置 instance.setDatapath(lagnguagePath); //chi_sim :簡體中文, eng 根據需求選擇語言庫 instance.setLanguage("eng"); String result = null; try { long startTime = System.currentTimeMillis(); result = instance.doOCR(file); long endTime = System.currentTimeMillis(); System.out.println("Time is:" + (endTime - startTime) + " 毫秒"); } catch (TesseractException e) { e.printStackTrace(); } System.out.println("result: "); System.out.println(result);
補充:可選步驟:配置環境變量(TESSDATA_PREFIX)
環境變量地址指向你存放語言包的文件夾路徑,如:我的語言包路徑在 D:\tessdata