一、前言
最近有個朋友需要用Java做一個圖像識別的東西,因此幫忙參考了網上資料寫了一個基於Tess4J簡單版的圖像識別demo,供參考。
二、簡單實例
1、首先創建一個新的maven項目(創建教程在此省略,自行百度),將所需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目錄下。

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);
4、測試
本文以一張簡單的圖片為例:圖片放置在D:\test.png根目錄下,因此使用代碼測試前需要修改代碼中指定的兩個路徑!!!
識別圖片:
運行代碼后:
5、可選步驟:配置環境變量(TESSDATA_PREFIX)
環境變量地址指向你存放語言包的文件夾路徑,如:我的語言包路徑在 D:\tessdata
本文代碼參考自:https://blog.csdn.net/zai_xia/article/details/80003778