使用python对验证码图片进行降噪处理

  

首先贴一张验证码上来做案例:

  

使用python对验证码图片进行降噪处理

  

<强>第一步先通过二值化处理把干扰线去掉:

        从公益诉讼导入图像      #二值化处理   def two_value ():   我的范围(1、5):   #打开文件夹中的图片   形象=Image.open (’。/Img/' + str(我)+ . jpg)   #灰度图   lim=image.convert (L)   #灰度阈值设为165,低于这个值的点全部填白色   阈值=165   表=[]      范围的j (256):   如果j<阈值:   table.append (0)   其他:   table.append (1)      bim=lim.point(表,' 1 ')   bim.save ('。/Img2/' + str (i) + . jpg)      two_value ()   之前      

运行结果图如下:

  

使用python对验证码图片进行降噪处理

  

<>强然后对黑白图片进行降噪,去掉那些单独的黑色像素点:

        从公益诉讼导入图像      #去除干扰线   我=Image.open (“/Img2/1.jpg。”)   #图像二值化   data=https://www.yisu.com/zixun/im.getdata ()   w h=im.size   black_point=0      x的范围(w1):   h - y的范围(1):   mid_pixel=数据(w * y + x) #中央像素点像素值   如果mid_pixel <50: #找出上下左右四个方向像素点像素值   top_pixel=数据(w * (y-1) + x)   left_pixel=数据(w * y + (x - 1))   down_pixel=数据[w * (y + 1) + x)   [w * y right_pixel=数据+ (x + 1)]      #判断上下左右的黑色像素点总个数   如果top_pixel <10:   black_point +=1   如果left_pixel <10:   black_point +=1   如果down_pixel <10:   black_point +=1   如果right_pixel <10:   black_point +=1   如果black_point <1:   im.putpixel ((x, y), 255)   #打印(black_point)   black_point=0      im.save (“xxxx.jpg”)   之前      

运行结果如下图所示:

  

使用python对验证码图片进行降噪处理

  

<强>最后对边框上附着的黑色像素点进行消除:

        从公益诉讼导入图像      #去除干扰线   我=Image.open (“/Img2/1.jpg。”)   #图像二值化   data=https://www.yisu.com/zixun/im.getdata ()   w h=im.size   black_point=0      x的范围(w1):   h - y的范围(1):   如果x <2或y <2:   即时通讯。putpixel (x - 1, y-1), 255)   如果x>和或y> h-3:   即时通讯。putpixel ((x + 1, + 1), 255)      im.save (“xxx.jpg”)   之前      

运行结果:

  

使用python对验证码图片进行降噪处理

  

以上这篇使用python对验证码图片进行降噪处理就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

使用python对验证码图片进行降噪处理