美文网首页java
tess4j解析数字验证码

tess4j解析数字验证码

作者: tyoko | 来源:发表于2017-08-22 00:11 被阅读1305次

网上看到了验证码破解,除了像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

<dependencies>

    <!-- https://mvnrepository.com/artifact/org.testng/testng -->
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.11</version>
        <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j -->
    <dependency>
        <groupId>net.sourceforge.tess4j</groupId>
        <artifactId>tess4j</artifactId>
        <version>3.4.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna -->
    <dependency>
        <groupId>net.java.dev.jna</groupId>
        <artifactId>jna</artifactId>
        <version>4.4.0</version>
    </dependency>

</dependencies>

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

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

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

https://github.com/tesseract-ocr/tessdata
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();
        }
    }
}

运行成功,结果很完美

image.png

相关文章

  • tess4j解析数字验证码

    网上看到了验证码破解,除了像12306越升级越变态的验证码很难破解外,其他比如数字、字母、干扰线之类的还是可以轻松...

  • Spring和Ocr整合详解

    Spring和Ocr整合详解 官方主页 Spring Ocr tess4j 概述 Tess4J是对Tesserac...

  • JAVA使用Tess4J进行ocr识别

    Tess4J是对Tesseract OCR API.的Java JNA 封装。使java能够通过调用Tess4J的...

  • Struts生成验证码

    验证码增加了应用的安全性,验证码也有各种各样,如数字字母组合、汉字、点击数字等,其本质就是后台生成的验证码与前端输...

  • 前端绘制图形验证码

    一、功能分析 图形验证码由验证码、干扰线、干扰点组合而成 验证码由数字和字母随机组合形成 每次切换验证码,验证码字...

  • 6.验证码

    验证码现在无处不在,比如最常见的字母数字验证码,12306的图形验证码,简书的滑动验证码,还有一些论坛的计算验证码...

  • 验证码的类型

    1、普通型验证码四位数字和字母验证码,可能都是字母,也可能都是数字,随机的4位字符串 2、行为式验证码 ——拖动式...

  • JS实现数字字母混合验证码(数字+大写字母+小写字母)

    ?作者主页? 我之前写了一篇《JS实现随机验证码》,可以产生随机数字、随机颜色、随机位置,但只能产生数字验证码,今...

  • 验证码、水印、缩放

    随机生成验证码 1、验证码1、纯数字2、纯字母3、数字字母混合4、计算公式 3 + 5 =打乱字符串:str_s...

  • Java实现验证码功能

    字母数字混合验证码 CaptcahCode.java index.jsp code.jsp 算术验证码 使用kca...

网友评论

    本文标题:tess4j解析数字验证码

    本文链接:https://www.haomeiwen.com/subject/juhkdxtx.html