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
