阅读 62

图像降噪python算法,python复杂验证码识别

python对验证码图像进行降噪处理

发布时间: 2018-05-16 20:38、

陟览次数: 962

、标签:

python

首先贴上验证码做盒子:

第一步是通过二值化处理消除干涉线。

from PIL import Image #二值化deftwo_value(:forIinrange ) 1,5 ) : #

打开文件夹中的图像image=image.open('./img/'str(I ) '.jpg ) #灰度lim=image.convert ) ' l ) )

#灰度阈值设定为165,所有低于此值的点都填充白色threshold=165 table=[ ] forjinrange (256 ) : if

Jj

BIM.save('./img2/'str ) I ).jpg ) (two_value ) ) )。

执行结果的图示如下。

然后,对黑白图像进行降噪以删除各个黑色像素点。

from PIL import Image #干涉线去除im=image.open('./img2/1.jpg ) #图像二值化data=

im.getdata(w,h=im.size black _ point=0forxinrange ) 1,w-1 ) : for y in

range(1,h-1 ) : mid_pixel=data[w*y x] #中央像素像素图像素值if mid_pixel 50: #

找出上下左右四个方向像素点的像素值top_pixel=data[w*(y-1 ) x]left_pixel=data[w*y(x-1] ) ]

down_pixel=data[w*(y1 ) x]right_pixel=data[w*y ) x1]#判断上下左右黑像素点的总个数if

top _ pixel 10: black _ point=1if left _ pixel 103360 black _ point=1if

down _ pixel 103360 black _ point=1if right _ pixel 103360 black _ point=1if

black_point=013360 im.putpixel ((x,y ),255 ) #print ) black _ point ) black_point=0

im.save(xxxx.jpg ) )。

结果如下图所示。

最后,删除附着在边界线上的黑色像素点。

from PIL import Image #干涉线去除im=image.open('./img2/1.jpg ) #图像二值化data=

im.getdata(w,h=im.size black _ point=0forxinrange ) 1,w-1 ) : for y in

range(1,h-1 ) :ifx2ory2:im.putpixel () x-1,y-1 ),255 ) if xw-3 or yh-3:

im.putpixel () x1,y 1 ),255 ) im.save ) ' XXX.jpg ' )。

执行结果:


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐