python 图片去噪的方法示例


Posted in Python onJuly 09, 2019

图像可能在生成、传输或者采集过程中夹带了噪声,去噪声是图像处理中常用的手法。通常去噪声用滤波的方法,比如中值滤波、均值滤波。但是那样的算法不适合用在处理字符这样目标狭长的图像中,因为在滤波的过程中很有可能会去掉字符本身的像素。

一个采用的是去除杂点的方法来进行去噪声处理的。具体算法如下:扫描整个图像,当发现一个黑色点的时候,就考察和该黑色点间接或者直接相连接的黑色点的个数有多少,如果大于一定的值,那就说明该点不是离散点,否则就是离散点,把它去掉。在考察相连的黑色点的时候用的是递归的方法。此处,我简单的用python实现了,大家可以参考以下。

#coding=utf-8
"""
造物奇迹QQ2737499951
"""
import cv2
import numpy as np
from matplotlib import pyplot as plt
from PIL import Image,ImageEnhance,ImageFilter
 
img_name = 'test.jpg'
#去除干扰线
im = Image.open(img_name)
#图像二值化
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(2)
im = im.convert('1')
data = im.getdata()
w,h = im.size
#im.show()
black_point = 0
for x in xrange(1,w-1):
  for y in xrange(1,h-1):
    mid_pixel = data[w*y+x] #中央像素点像素值
    if mid_pixel == 0: #找出上下左右四个方向像素点像素值
      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 == 0:
        black_point += 1
      if left_pixel == 0:
        black_point += 1
      if down_pixel == 0:
        black_point += 1
      if right_pixel == 0:
        black_point += 1
      if black_point >= 3:
        im.putpixel((x,y),0)
      #print black_point
      black_point = 0
im.show()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
利用Psyco提升Python运行速度
Dec 24 Python
Python中的localtime()方法使用详解
May 22 Python
DataFrame中去除指定列为空的行方法
Apr 08 Python
利用python打开摄像头及颜色检测方法
Aug 03 Python
python实现录音小程序
Oct 26 Python
Python操作json的方法实例分析
Dec 06 Python
Python爬虫抓取技术的一些经验
Jul 12 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
Jan 15 Python
TensorFlow内存管理bfc算法实例
Feb 03 Python
Python中zip()函数的解释和可视化(实例详解)
Feb 16 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
Feb 29 Python
Python通过yagmail实现发送邮件代码解析
Oct 27 Python
python 使用plt画图,去除图片四周的白边方法
Jul 09 #Python
浅谈Python小波分析库Pywavelets的一点使用心得
Jul 09 #Python
python basemap 画出经纬度并标定的实例
Jul 09 #Python
python实现列表中最大最小值输出的示例
Jul 09 #Python
python实现基于朴素贝叶斯的垃圾分类算法
Jul 09 #Python
python把ipynb文件转换成pdf文件过程详解
Jul 09 #Python
深入了解Python枚举类型的相关知识
Jul 09 #Python
You might like
解析PHP跨站刷票的实现代码
2013/06/18 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
PHP APC配置文件2套和参数详解
2014/06/11 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
2017/02/15 PHP
php实现商城购物车的思路和源码分析
2020/07/23 PHP
JavaScript Prototype对象
2009/01/07 Javascript
Javascript倒计时代码
2010/08/12 Javascript
javascript模拟post提交隐藏地址栏的参数
2014/09/03 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
实例详解jQuery的无new构建
2016/08/02 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
2017/09/14 Javascript
JavaScript数组去重的多种方法(四种)
2017/09/19 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
python实现定制交互式命令行的方法
2014/07/03 Python
Python 序列化 pickle/cPickle模块使用介绍
2014/11/30 Python
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
python监控文件并且发送告警邮件
2018/06/21 Python
python Pillow图像处理方法汇总
2019/10/16 Python
Python底层封装实现方法详解
2020/01/22 Python
mac在matplotlib中显示中文的操作方法
2020/03/06 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
Html5定位终极解决方案
2020/02/05 HTML / CSS
英国No.1文具和办公用品在线:Euroffice
2016/09/21 全球购物
信用社竞聘演讲稿
2014/05/16 职场文书
企业诚信承诺书
2014/05/23 职场文书
大学生个人求职信例文
2014/07/07 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
纪念9.18事变演讲稿
2014/09/14 职场文书
护士年终个人总结
2015/02/13 职场文书
党员干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
写作指导:怎么书写竞聘演讲稿?
2019/07/04 职场文书
java代码实现空间切割
2022/01/18 Java/Android
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技