美文网首页
Python 验证码识别

Python 验证码识别

作者: chacvoo | 来源:发表于2017-11-08 17:23 被阅读0次

    这里会用到

    安装

    下载安装 tesseract

    安装pytesseract  和  Pillow

    pip install pytesseract

    pip install Pillow

    这里只说winsows系统下的安装linux,在利用pytesseract调用tesseract时遇到以下错误:

    FileNotFoundError: [WinError 2] 系统找不到指定的文件。

    于是我看了下pytesseract源码,发现有这样的一行

    # CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY

    tesseract_cmd = 'tesseract'

    估计windows系统要手工添加环境变量,所以才产生的问题,于是又将tesseract添加到环境变量Path中,但还是会报错:

    pytesseract.pytesseract.TesseractError: (1, 'Error opening data file \\Program Files (x86)\\Tesseract-OCR\\eng.traineddata')

    这个是eng.traineddata文件路径有误才会出现的错误。

    解决办法:

    先查看tesseract有没有这个语言包,有CMD中输入命令:

    tesseract --list-langs

    结果:

    List of available languages (2):

    eng

    osd

    然后再查看然后再google下的,发现还是tesseract的环境变量的问题,找到了下面这一句话

    Please make sure the TESSDATA_PREFIX environment variableisset to the parent directory of your"tessdata"directory.

    于是新建的一个TESSDATA_PREFIX指定"tessdata"的上级目录也就是"C:\Program Files (x86)\Tesseract-OCR"

    windows的安装也完成。

    先用一个简单的验证码测试一下:

    from PIL import Image

    import pytesseract

    result = pytesseract.image_to_string(Image.open(r'F:\pachong\PIN\PIN_ws\692.jpg',"r"), lang='eng')

    print(result)

    相关文章

      网友评论

          本文标题:Python 验证码识别

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