http://blog.csdn.net/wsk1103/article/details/54173282
java中識別文字比較簡單,使用的軟件是tesseractocr(使用的版本是3.02,3以后的版本才支持中文),這個軟件需要安裝在本地電腦中,安裝的過程中全部都按照默認進行安裝(以便於Java直接調用),
下載地址http://download.csdn.net/detail/wsk1103/9731338。
該軟件默認的識別的是英文,如果相要能識別中文,需要將中文的訓練文本chi_sim.traineddata存放到C:\Program Files (x86)\Tesseract-OCR\tessdata中,其中該中文訓練文本解壓后39M左右,
下載地址http://download.csdn.net/detail/wsk1103/9731335
,遺憾的是如果想要識別中英文的話,還得繼續谷歌搜索一下,在這里就不列出來了。
Java中識別的話很簡單,只需要下面這幾行代碼就可以了(官方給出來的代碼)
File imageFile=new File(path); if(!imageFile.exists()){ return"圖片不存在"; } Tesseractinstance=Tesseract.getInstance(); instance.setDatapath("C:\\ProgramFiles(x86)\\Tesseract-OCR\\tessdata");//設置訓練庫的位置 instance.setLanguage("chi_sim");//中文識別 String result=instance.doOCR(imageFile);
想要實現上面的這些代碼,需要導入的包有一些,
下載地址:http://download.csdn.net/detail/wsk1103/9731338
關於異常
1. Exception in thread “main” java.lang.Error: Invalid memory access
這個異常表示沒有設置訓練庫的位置
2. 不是有效的win32程序
嘗試重新安裝一下tesseractocr
安裝的路徑默認就可以了。