OCR验证码初探
http://my.cnki.net/elibregister/CheckCode.aspx 随机获取验证码保存到项目的根目录下
今天第写一个简单的验证码识别例子小伙伴说识别出来的跟预想的不一样,主要是我写的例子验证的图片比较简单,而小伙伴识别的图片内有多余的线条干扰了图片的识别。对于这种情况我们需要对图片进行一下处理,例如转灰度、二值化等操作。
把图片保存到项目的根目录下并且图片修改为后缀是.jpg的格式
上代码:
import tesserocr
from PIL import Image
image = Image.open(‘Code.jpg’)
将图片转化为灰度图像
image=image.convert(‘L’)
image.show()
阈值转化为127
threshold =127
table = []
for n in range(256):
if n < threshold:
table.append(0)
else:
table.append(1)
image = image.point(table , ‘1’)
result = tesserocr.image_to_text(image)
print(result)
我这里就可以识别出来了,但是有的识别出来的还有误差,那就需要修改一下
阈值转化为127
threshold =127
127的值需要修改,修改为能识别的合适的值为止