安装
安装库
$ pip install Pillow
$ pip install pytesseract
Windows下直接下载安装包,安装后添加到环境变量Path。
CentOS6下(前提是各种常用源都已安装,参考centos7下添加常用YUM源(EPEL/Remi/RPMforge/php/Nginx)):
$ yum install tesseract
$ yum install tesseract-langpack-deu
验证码识别
核心只有一个函数pytesseract.image_to_string
。
简单的验证码识别
图片不需要任何处理:
from PIL import Image
import pytesseract
img = Image.open("code.png")
vcode=pytesseract.image_to_string(img, lang='eng')
print (vcode)
需要降噪的验证码识别
这类验证码直接识别正确率太低。仔细观察图片,发现验证码有效内容均为黑色,所以考虑将非黑色都转成白色,代码稍微修改即可:
from PIL import Image
import pytesseract
img = Image.open("get.gif")
for i in range(0, img.size[0]):
for j in range(0, img.size[1]):
data = (img.getpixel((i,j)))
if (data[0]>=10 and data[1]>=10 and data[2]>=10): # 黑色rgb为(0,0,0)
img.putpixel((i,j),(255,255,255,255))
vcode=pytesseract.image_to_string(img, lang='eng')
print (vcode)
Comments