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

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\里,如图:

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的验证码内容。
验证图片示例:

你可能感兴趣的:(java)