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

posted @ 2020-04-11 15:30  F兽  阅读(215)  评论(0)    收藏  举报