文档章节

使用tesseract进行图形验证码识别

go4it
 go4it
发布于 2017/03/25 22:08
字数 186
阅读 366
收藏 1

##maven

        <dependency>
			<groupId>org.bytedeco.javacpp-presets</groupId>
			<artifactId>tesseract-platform</artifactId>
			<version>3.04.01-1.3</version>
		</dependency>

##配置 在resources目录下新建tessdata目录,然后从tessdata获取一个ENG.traineddata,再在tessdata目录下新建configs目录,设置几个配置文件

  • api_config
tessedit_zero_rejection T

表示开启tessedit_zero_rejection

  • digits 可以设置白名单
tessedit_char_whitelist 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
  • hocr
tessedit_create_hocr 1

tessedit_create_hocr 1,表示输出Html的意思

##使用

public static String recognize(String fileName)  {
        BytePointer outText;

        tesseract.TessBaseAPI api = new tesseract.TessBaseAPI();
        String path = OcrUtil.class.getClassLoader().getResource("").getPath();
        if (api.Init(path, "ENG") != 0) {
            System.err.println("Could not initialize tesseract.");
            System.exit(1);
        }

//        api.SetVariable("tessedit_char_whitelist", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
//        api.SetPageSegMode(tesseract.PSM_SINGLE_LINE);

        // Open input image with leptonica library
        lept.PIX image = pixRead(fileName);
        api.SetImage(image);
        // Get OCR result
        outText = api.GetUTF8Text();
        String captcha = outText.getString();
        // Destroy used object and release memory
        api.End();
        outText.deallocate();
        pixDestroy(image);
        api.close();
        return captcha.trim();
    }

##doc

© 著作权归作者所有

go4it
粉丝 90
博文 1124
码字总数 1056465
作品 0
深圳
私信 提问
Python验证码识别:利用pytesser识别简单图形验证码

一、探讨 识别图形验证码可以说是做爬虫的必修课,涉及到计算机图形学,机器学习,机器视觉,人工智能等等高深领域…… 简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形...

j_hao104
2016/03/25
21.8K
2
Python 实现识别弱图片验证码

图片来自 unsplash 目前,很多网站为了防止爬虫肆意模拟浏览器登录,采用增加验证码的方式来拦截爬虫。验证码的形式有多种,最常见的就是图片验证码。其他验证码的形式有音频验证码,滑动验证...

猴哥Yuri
2017/12/23
0
0
使用 python 识别简单验证码

概述 简介 坑! 安装 Tesseract-OCR 使用 pytesseract 识别验证码 高级玩法 - 除线 简介 首先呢,简单的验证码是这样的: 不是这样的: 这里使用了 pytesseract 来进行验证码识别,它是基于 ...

zone_
2018/08/17
0
0
自动化中图像识别

验证码: 如下,在进行自动化测试,遇到验证码的问题,一般有两种方式 1.找开发去掉验证码或者使用万能验证码 2.使用OCR自动识别 使用OCR自动化识别,一般识别率不是太高,处理一般简单验证码...

铃铛的!
2016/08/03
0
0
python 验证码问题

tesseract-ocr-setup-3.02.02.exe 下载地址:https://sourceforge.net/projects/tesseract-ocr-alt/files/tesseract-ocr-setup-3.02.02.exe/download?usemirror=jaist&r=https%3A%2F%2Fsourc......

lweihua
2017/06/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一、docker 入坑(win10和Ubuntu 安装)

前言 终究还是绕不过去了,要学的知识真的是太多了,好在我们还有时间,docker 之前只闻其声,不曾真正的接触过,现在docker 越来越火,很多公司也都开始使用了。所以对于我们程序员而言,又...

quellanan2
15分钟前
4
0
AutoCompleteTextView

小技巧按菜单键 当菜单打开之前会调用onMenuOpened(int featereId,Menu menu),可以重写这个方法,弹出对话框或者Popmenu 再布局中添加控件AutoCompleteTextView. <AutoCompleteTextVie...

逆天游云
18分钟前
4
0
谷歌软件商店:推出5美元会员 可用数百个软件

腾讯科技讯,谷歌和苹果是全球两大智能手机操作系统的运营者,两家公司旗下分别拥有占据行业垄断地位的谷歌软件商店和苹果软件商店。据外媒最新消息,手机软件商店的商业模式正在发生一些变化...

linuxCool
40分钟前
3
0
RocketMQ 多副本前置篇:初探raft协议

Raft协议是分布式领域解决一致性的又一著名协议,主要包含Leader选举、日志复制两个部分。 温馨提示: 本文根据raft官方给出的raft动画进行学习,其动画展示地址:http://thesecretlivesofda...

中间件兴趣圈
40分钟前
3
0
elasticsearch 6.8.0 添加认证

1. 修改elasticsearch-6.8.0/config/elasticsearch.yml 最后添加一行:xpack.security.enabled: true 2. 初始化用户和密码 ./bin/elasticsearch-setup-passwords interactive 我这里初始化为......

coord
42分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部