tesseract识别验证码 ---java

原创 2018年04月17日 18:02:16

在目前测试中 发现一些有意思的事  就是不同的tesserat-ocr 与 tess4j 与 jna 版本之间如果搭配不当, 会出现无法识别的错误, 最终异常会提示为 找不到模块 等位置错误

所以在进行java代码前我会先 写清楚可以使用之间的版本搭配 

tesseract_3.0.3 搭配 tess4j 2.0.1 或者 3.2.1 搭配 jna 4.2.1 是可以正常使用的 

废话不多 直接上图



网盘tesseract 文件地址  版本信息  亲测过  4.0 用以上的搭配不能使用 原因未知



java代码

public class TestOCR {

    /**
     *
     * @param srImage 图片路径
     * @param ZH_CN 是否使用中文训练库,true-是
     * @return 识别结果
     */
    public static String FindOCR(String srImage, boolean ZH_CN) {
        try {
            System.out.println("start");
            double start=System.currentTimeMillis();
            File imageFile = new File(srImage);
            if (!imageFile.exists()) {
                return "图片不存在";
            }
            BufferedImage textImage = ImageIO.read(imageFile);
            Tesseract instance=Tesseract.getInstance();
            instance.setDatapath("D:\\RPA\\tesseract\\tessdata");//设置训练库
            if (ZH_CN){
                instance.setLanguage("chi_sim");//中文识别
            }
            String result = null;
            result = instance.doOCR(textImage);
            double end=System.currentTimeMillis();
            System.out.println("耗时"+(end-start)/1000+" s");
            return result;
        } catch (Exception e) {
            e.printStackTrace();
            return "发生未知错误";
        }
    }
    public static void main(String[] args) throws Exception {
        String picPath = "D:\\Test\\YZM\\resprotity\\download\\";
        String result = null;
        for(int i=1; i<21; i++){
            String path = picPath + i + ".jpg";
            result = FindOCR(path,false);
            System.out.println("path-->" + path + "<===> value --->" + result);
        }

    }
}
其中训练裤的位置是我单独复制出来的 准备给项目使用


Java实战之验证码实现原理和应用

-
  • 1970年01月01日 08:00

利用Tesseract来识别验证码

概述我们在写爬虫脚本时,经常会遇到验证码阻碍我们的道路。特别是这个网站的资料又非常重要,所以不得不研究一下怎么让机器自动识别。对于一些不太复杂的验证码,我们可以直接用现成的开源引擎Tesseract识...
  • zhangxb35
  • zhangxb35
  • 2015-11-02 20:59:33
  • 10909

使用tesseract-ocr进行简单的验证码识别和训练

由于工作需要,尝试验证码识别方案 这里只涉及简单的验证码识别,复杂的自行尝试 一、处理图像 图像质量可能不行,这种情况下进行图像处理,将图像进行灰度化,二值化,去噪处理,必要是可截取图片 二、...
  • zhangrilong
  • zhangrilong
  • 2017-06-30 16:09:18
  • 599

java 利用Tesseract-OCR识别图片验证码

1.windows下的Tesseract-OCR安装Tesseract-OCR下载: http://pan.baidu.com/s/1miRU6EG 识别语言库: 官网地址: https://g...
  • kuangfengbuyi
  • kuangfengbuyi
  • 2017-01-05 11:51:04
  • 5222

Tesseract Ocr 引擎识别图形验证码

html, body { font-size: 15px; } body { font-family: Helvetica, '...
  • catoop
  • catoop
  • 2016-09-05 11:43:38
  • 5273

使用Tesseract破解验证码并训练字库的方法

介绍:Tesseract是一个Google支持的开源的OCR图文识别开源项目,可以较好的识别常见的字体(字母、数字和汉字)并且可以根据需求训练出指定字体的字库,GitHub上有众多开发者贡献的字库。最...
  • makesibushuohua
  • makesibushuohua
  • 2016-07-28 19:39:36
  • 2608

验证码的识别tesseract

几天一直在研究OCR技术,据我了解的情况,国内最专业的OCR软件只有2家,清华TH-OCR和汉王OCR,看了很多的OCR技术发现好多对英文与数字的支持都很好,可惜很多都不支持中文字符。Asprise-...
  • LanSeTianKong12
  • LanSeTianKong12
  • 2016-09-21 15:20:41
  • 418

利用tesseract-ocr进行验证码识别

因为爬虫项目需要模拟登陆,可是有一个网站的登录需要输入验证码。其实这种登录有2种解决方案,一种是利用cookie,一种是识别图片。前者需要人工登录一次,而且有时效限制,故不太现实。后者可以,但是难点是...
  • neal1991
  • neal1991
  • 2016-04-26 13:35:29
  • 2594

使用Tesseract-ocr识别验证码,暴力破解某高校学生登录系统

使用Tesseract-ocr识别验证码,暴力破解某高校学生登录系统 声明:本文章仅限于技术交流,严禁用于非法途径,转载需联系我 使用到了技术点: 1.Tesseract-ocr本地安装(用于后...
  • qq_38844326
  • qq_38844326
  • 2017-11-20 15:55:57
  • 691

验证码识别 ocr tesseract的使用,含有例子和源码

  • 2015年02月11日 15:15
  • 6.11MB
  • 下载
收藏助手
不良信息举报
您举报文章:tesseract识别验证码 ---java
举报原因:
原因补充:

(最多只允许输入30个字)