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

来源:互联网 发布:矢量图如何上传淘宝 编辑:程序博客网 时间:2024/05/02 05:07

1.windows下的Tesseract-OCR安装

Tesseract-OCR下载: http://pan.baidu.com/s/1miRU6EG

识别语言库:
官网地址: https://github.com/tesseract-ocr/langdata
或者网盘:
http://pan.baidu.com/s/1kV18iov

安装完后ocr后,将语言库文件到到安装目录~\Tesseract-OCR\tessdata\里,如图:
image

2.linux下的Tesseract-OCR安装

Tesseract-OCR安装:
下载地址: https://github.com/tesseract-ocr/tesseract

或者百度网盘: http://pan.baidu.com/s/1i5v69VJ

leptonica安装:
官网: http://www.leptonica.com/ 上下载
或者网盘下载,下载地址:
http://pan.baidu.com/s/1mhTGk4K

同样,安装完后ocr后,将语言库文件到到安装目录~\Tesseract-OCR\tessdata\里。

3.命令执行

tesseract D:\yzm\yzm.png D:\yzm\yzm -l eng

或者:

tesseract D:\yzm\yzm.png D:\yzm\yzm -l num

有时候会遇到如下错:
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your “tessdata” directory.
需要将安装目录配置到系统路径中,如添加
TESSDATA_PREFIX=D:\Program Files\Tesseract-OCR\
linux 的方法类似。

4.利用java执行

    @Test    public void test1(){        Process pro = null;        try {            pro = Runtime.getRuntime().exec(new String[]{"tesseract",                    "D:\\yzm\\yzm.png","D:\\yzm\\yzm",                    "-l","eng"});            pro.waitFor();        } catch (IOException e) {            e.printStackTrace();        } catch (InterruptedException e) {            e.printStackTrace();        }    }

运行以上代码后,会在D:\yzm\目录中看到yzm.txt, 内容就为yzm.png的验证码内容。
验证图片示例: image

0 0
原创粉丝点击