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 essdata中,其中该中文训练文本解压后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
安装的路径默认就可以了。