Python图形验证码识别

一,OCR  

  OCR,即Optical Character Recognition,光学字符识别,通过扫描字符,分析形状,然后将其翻译成电子文本的过程。tesserocr是Python的一个OCR识别库,但其实是对tesseract做的一层封装。安装tesserocr之前需要先按照tesseract。

二,准备工具

  安装库tesserocr,windows下安装前需要下载安装tesseract,

  tesseract下载地址:https://digi.bib.uni-mannheim.de/tesseract/

    

  图中有很多版本,其中带dev的为开发版本,不带dev的为稳定版本,推荐下载稳定版本。

    

  安装时勾选Additional language data选项来安装OCR识别支持的语言包,可以识别多国语言。然后一直点击Next即可。

  接下来,安装tesserocr即可:pip3 install tesserocr pillow

  whl安装包下载链接:https://github.com/simonflueckiger/tesserocr-windows_build/releases

  选择合适的版本下载   运行

  pip3 install tesserocr-2.2.2-cp36-cp36m-win_amd64.whl

三、代码

import tesserocr
from PIL import Image

image = Image.open('code.png')
res = tesserocr.image_to_text(image)
print(image, res)
# 二值化
image = image.convert('L')
threshold = 127
table = []
for i in range(256):
    if i < threshold:
        table.append(0)
    else:
        table.append(1)

image = image.point(table, '1')
image.show()

result = tesserocr.image_to_text(image)
print(result)

 

posted @ 2019-06-12 15:07  ZivLi  阅读(1343)  评论(0编辑  收藏