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科学计算的书
也不知对不对书的目录如下:
图片描述

大侠拔下刀看看 对不对呢!!!!我该买这样的书吗???? 还是有什么好建议跟博主那样的文章 对应的书呢

阅读 12.5k
1 个回答
新手上路,请多包涵

在识别之前做一些基本的图片处理,可以提高识别率:
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)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题