pillow pytesseract 数字图片识别问题?????
识别了下4位数的数字图片;但是效果不佳:
图片如下:
代码图片如下:
打印出的效果如下:
一看傻眼了图片是4412啊 怎么是bpfiz;
然后搜了下度娘:
# 验证码识别,此程序只能识别数据验证码 import Image
import ImageEnhance
import ImageFilter
import sys
from pytesser import *
# 二值化
threshold = 140
table = []
for i in range(256):
if i < threshold:
table.append(0)
else:
table.append(1)
#由于都是数字
#对于识别成字母的 采用该表进行修正
rep={'O':'0',
'I':'1','L':'1',
'Z':'2',
'S':'8'
};
def getverify1(name):
#打开图片
im = Image.open(name)
#转化到灰度图
imgry = im.convert('L')
#保存图像
imgry.save('g'+name)
#二值化,采用阈值分割法,threshold为分割点
out = imgry.point(table,'1')
out.save('b'+name)
#识别
text = image_to_string(out)
#识别对吗
text = text.strip()
text = text.upper();
for r in rep:
text = text.replace(r,rep[r])
#out.save(text+'.jpg')
print text
return text
getverify1('1.jpg') #注意这里的图片要和此文件在同一个目录,要不就传绝对路径也行
看着不错是我想要的菜,但是看是美好的,实现是痛苦的怎么都弄不出来 看来自己太菜了
还看了它的链接如下:
http://python.jobbole.com/83945/
还是不懂联系了博主还没回复我!!!!现在还在烧高香在等贵人。。。我的神呀!!!!
于是想着做伸手党也不行呀,于是当当看了本书 貌似跟它一样的代码需要看python科学计算的书
也不知对不对书的目录如下:
大侠拔下刀看看 对不对呢!!!!我该买这样的书吗???? 还是有什么好建议跟博主那样的文章 对应的书呢
回答:
在识别之前做一些基本的图片处理,可以提高识别率:
im = Image.open(img_name)
enhancer = ImageEnhance.Color(im)
enhancer = enhancer.enhance(0)
enhancer = ImageEnhance.Brightness(enhancer)
enhancer = enhancer.enhance(2)
enhancer = ImageEnhance.Contrast(enhancer)
enhancer = enhancer.enhance(8)
enhancer = ImageEnhance.Sharpness(enhancer)
im = enhancer.enhance(20)
print pytesseract.image_to_string(im)
以上是 pillow pytesseract 数字图片识别问题????? 的全部内容, 来源链接: utcz.com/a/162919.html