两种去噪方法对比,验证码识别

Posted euraxluo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两种去噪方法对比,验证码识别相关的知识,希望对你有一定的参考价值。

原图:技术分享图片

 

第一种方法:

image_file = Image.open("222365983497055298.png")
image_file = image_file.convert(1)
image_file.save("quzao.png")

结果:技术分享图片

 

第二种方法:

def ChangeRGB():
    im = Image.open("222365983497055298.png")
    print("image info ",im.format,im.mode,im.size)
    (w,h) = im.size
    R = 0
    G = 0
    B = 0
    for i in range(w):
        for j in range(h):
            point = (i,j)
            rgb = im.getpixel(point)
            (r,g,b) = rgb
            R = R+r
            G = G+g
            B = B+b
    rate1 = R*1000/(R+G+B)
    rate2 = G*1000/(R+G+B)
    rate3 = B*1000/(R+G+B)
    print("rate",rate1,rate2,rate3)

    for i in range(w):
        for j in range(h):
            point = (i,j)
            rgb = im.getpixel(point)
            (r,g,b) = rgb
            n = r * rate1 / 1000 + g * rate2 / 1000 + b * rate3 / 1000
            if n >= 90:
                im.putpixel(point, (255, 255, 255))
            else:
                im.putpixel(point, (0, 0, 0))
    im.save("quzao2.png")

if __name__=="__main__":
    ChangeRGB()

处理效果随着:

if n >= 90:
    im.putpixel(point, (255, 255, 255))
else:
    im.putpixel(point, (0, 0, 0))

中的n的值变化,结果:技术分享图片

 

还有干扰线的去除:这里有个C#的代码,我学习的这个 https://www.cnblogs.com/fuchongjundream/p/5403193.html

 

以上是关于两种去噪方法对比,验证码识别的主要内容,如果未能解决你的问题,请参考以下文章

简单验证码识别入门

验证码识别之模板匹配方法

使用Python PIL库实现简单验证码的去噪处理

验证码识别之模板匹配方法

基于Tensorflow的验证码识别

基于SVM的字母验证码识别