需要用到如下几个model:
- PIL
- pytesseract
使用pytesseract时候还需要在电脑上安装Tesseract-OCR软件,默认安装只支撑字母数字字符识别,如果需要增加对中文字符或者其他字符的支持,可以在安装时候选择添加相对应的库。
安装好后,需要在环境变量添加如下内容:
变量名:TESSDATA_PREFIX,变量值为对应的软件路径,除此之外,在系统变量path里面也要添加软件安装路径
from PIL import Image
from pytesseract import *
im = Image.open('5260.png')
imgry = im.convert('L')
imgry.show()
box = (10,10,120,45)
image.crop(box)
result = pytesseract.image_to_string(image)
print(result)
这几句就是核心了。实现的效果也算简单,就是把验证码图片上数字识别为字符串打印出来。
验证码图片如下:
图片大小为(129,53)
这行代码为把验证码图片四周空白部分裁剪掉,只留下字符区域,增加识别率。box四个值分别为左上角和右下角坐标点,以此来裁出一个矩形块。
image.crop(box)
字符识别是现成的ytesseract库。简单的直接调用。
今天的先做到这里,以后有时间慢慢再添加去噪点和字符分割。