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


Posted in Python onDecember 18, 2019

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

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

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

from PIL import Image
 
# 二值化处理
def two_value():
  for i in range(1,5):
    # 打开文件夹中的图片
    image=Image.open('./Img/'+str(i)+'.jpg')
    # 灰度图
    lim=image.convert('L')
    # 灰度阈值设为165,低于这个值的点全部填白色
    threshold=165
    table=[]
    
    for j in range(256):
      if j<threshold:
        table.append(0)
      else:
        table.append(1)
 
    bim=lim.point(table,'1')
    bim.save('./Img2/'+str(i)+'.jpg')
 
two_value()

运行结果图如下:

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

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

from PIL import Image
 
# 去除干扰线
im = Image.open('./Img2/1.jpg')
# 图像二值化
data = im.getdata()
w,h = im.size
black_point = 0
 
for x in range(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*(y+1)+x]
      right_pixel = data[w*y+(x+1)]
 
      # 判断上下左右的黑色像素点总个数
      if top_pixel <10:
        black_point += 1
      if left_pixel <10:
        black_point += 1
      if down_pixel <10:
        black_point += 1
      if right_pixel <10:
        black_point += 1
      if black_point <1:
        im.putpixel((x,y),255)
      # print(black_point)
      black_point = 0
 
im.save('xxxx.jpg')

运行结果如下图所示:

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

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

from PIL import Image
 
# 去除干扰线
im = Image.open('./Img2/1.jpg')
# 图像二值化
data = im.getdata()
w,h = im.size
black_point = 0
 
for x in range(1,w-1):
  for y in range(1,h-1):
    if x<2 or y<2 :
      im.putpixel((x-1, y-1), 255)
    if x>w-3 or y>h-3:
      im.putpixel((x+1 , y+1 ), 255)
 
im.save('xxx.jpg')

运行结果:

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

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

Python 相关文章推荐
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
May 23 Python
Python使用xlrd读取Excel格式文件的方法
Mar 10 Python
在Python程序中操作文件之flush()方法的使用教程
May 24 Python
python压缩文件夹内所有文件为zip文件的方法
Jun 20 Python
详解django中自定义标签和过滤器
Jul 03 Python
TensorFlow模型保存/载入的两种方法
Mar 08 Python
Python OpenCV读取png图像转成jpg图像存储的方法
Oct 28 Python
Python json格式化打印实现过程解析
Jul 21 Python
Python如何给你的程序做性能测试
Jul 29 Python
Python xmltodict模块安装及代码实例
Oct 05 Python
Python Django路径配置实现过程解析
Nov 05 Python
python周期任务调度工具Schedule使用详解
Nov 23 Python
如何使用Python多线程测试并发漏洞
Dec 18 #Python
Python实现图像去噪方式(中值去噪和均值去噪)
Dec 18 #Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 #Python
Django中使用MySQL5.5的教程
Dec 18 #Python
Python hashlib加密模块常用方法解析
Dec 18 #Python
Python实现中值滤波去噪方式
Dec 18 #Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
Dec 18 #Python
You might like
php列出一个目录下的所有文件的代码
2012/10/09 PHP
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
JavaScript中的面向对象介绍
2012/06/30 Javascript
用jQuery获取IE9下拉框默认值问题探讨
2013/07/22 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
jQuery弹出框代码封装DialogHelper
2015/01/30 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
2015/08/26 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
浅谈JS中的反柯里化( uncurrying)
2017/08/17 Javascript
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
2018/01/08 Javascript
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
2019/04/15 Javascript
JS实现电脑虚拟键盘的操作
2020/06/24 Javascript
详解Vue 的异常处理机制
2020/11/30 Vue.js
前端如何实现动画过渡效果
2021/02/05 Javascript
浅谈Python中的可变对象和不可变对象
2017/07/07 Python
Python 判断图像是否读取成功的方法
2019/01/26 Python
python爬取微信公众号文章的方法
2019/02/26 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
详解python实现小波变换的一个简单例子
2019/07/18 Python
HTML的form表单和django的form表单
2019/07/25 Python
keras获得某一层或者某层权重的输出实例
2020/01/24 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
最新的咖啡店创业计划书
2013/12/30 职场文书
毕业自我鉴定怎么写
2014/03/25 职场文书
优秀班组事迹材料
2014/12/24 职场文书
安阳殷墟导游词
2015/02/10 职场文书
烈士陵园观后感
2015/06/08 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
《烈火英雄》观后感:致敬和平时代的英雄
2019/11/11 职场文书
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫