最近做了一个验证码识别的项目,需要用到OCR,来来回回整了几个小时,终于弄好了。
首先下载tess4j:http://tess4j.sourceforge.net/
根据官方教程,tess4j的包解压后,将以下.jar包复制到lib项目文件夹,然后再Build Path(如图)。
再把tessdata文件夹拷贝到项目根目录下
如要支持中文,请下载中文字库chi_sim.traineddata,放到tessdata目录下,然后在代码里面添加该字库
instance.setLanguage("chi_sim");
接着在src下建一个类,将一下官方的示例代码拷贝进去即可成功。(附源码)
package tess4j.clan;
import java.io.File;
import net.sourceforge.tess4j.*;
public class TesseractExample {
public static void main(String[] args) {
File imageFile = new File("jietu.png");
ITesseract instance = new Tesseract(); // JNA Interface Mapping
// ITesseract instance = new Tesseract1(); // JNA Direct Mapping
instance.setLanguage("chi_sim");//添加中文字库
try {
String result = instance.doOCR(imageFile);
System.out.println(result);
} catch (TesseractException e) {
System.err.println(e.getMessage());
}
}
}
运行结果:
精度不是很高。有高需求的读者可以去训练字库。再导入即可
项目源码:https://github.com/Clinan/OCR2Java 如果觉得可以 请给颗star