Python验证码识别(1)
需要的库:
tesserocr
如下验证码:'1.bmp'

import tesserocr
from PIL import Image
image=Image.open('ecdhwpa6.bmp')
image.show()
res=tesserocr.image_to_text(image)
print(res)
直接这样识别可能识别失败:如识别成:cEe7F
这时可能需要用到转灰度、二值化等操作:
import tesserocr
from PIL import Image
image=Image.open('ecdhwpa6.bmp')# Image.convert('L')作用是将图片转为灰度图像
#Image.convert('1')作用是将图片二值化
image=image.convert('L')# threshold用于设置二值化的阈值,以此提高图片的正确率
threshold=140
table=[]
for i in range(256):
if i<threshold:
table.append(0)
else:
table.append(1)
image=image.point(table,'1')
image.show()
res=tesserocr.image_to_text(image)
print(res)
此时可以正确识别了:ce7F

浙公网安备 33010602011771号