tess4j解析数字验证码

网上看到了验证码破解,除了像12306越升级越变态的验证码很难破解外,其他比如数字、字母、干扰线之类的还是可以轻松破解的
比如tess4j这个工具
具体资料可以查看http://tess4j.sourceforge.net/usage.html
网上给的案例都好简单,但是运行在我的Mac上老是报错:Unable to load library 'tesseract': Native library (darwin/libtesseract.dylib。。。。
其实,是因为在Mac上需要安装tesseract,解决办法查看官方wiki

https://github.com/tesseract-ocr/tesseract/wiki

可以使用brew安装

brew install tesseract

安装成功后,就可以写代码了
新建maven工程
pom.xml中导入testng、tess4j、jna



    
    
        org.testng
        testng
        6.11
        test
    
    
    
        net.sourceforge.tess4j
        tess4j
        3.4.0
    
    
    
        net.java.dev.jna
        jna
        4.4.0
    


下载一张数字验证码的图片,导入到工程file文件夹下(file文件夹是新建的)
到github上下载tessdata,放到工程目录下

https://github.com/tesseract-ocr/tesseract/tree/master/tessdata

在以下地址中下载语言包,放到工程目录中的tessdata下(比如eng.traineddata)

https://github.com/tesseract-ocr/tessdata
tess4j解析数字验证码_第1张图片
image.png

新建一个类

public class TestCode {
    @Test
    public void testCode(){
        File imageFile=new File("./file/captcha-image.jpeg");
        ITesseract tesseract=new Tesseract();
        try {
            String result=tesseract.doOCR(imageFile);
            System.out.println(result);

        } catch (TesseractException e) {
            e.printStackTrace();
        }
    }
}

运行成功,结果很完美

tess4j解析数字验证码_第2张图片
image.png

你可能感兴趣的:(tess4j解析数字验证码)