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 相关文章推荐
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
Jun 18 Python
django接入新浪微博OAuth的方法
Jun 29 Python
python实现简单socket通信的方法
Apr 19 Python
解决python2.7 查询mysql时出现中文乱码
Oct 09 Python
神经网络理论基础及Python实现详解
Dec 15 Python
详解Django配置优化方法
Nov 18 Python
Django ORM实现按天获取数据去重求和例子
May 18 Python
tensorflow 大于某个值为1,小于为0的实例
Jun 30 Python
python Gabor滤波器讲解
Oct 26 Python
pandas实现导出数据的四种方式
Dec 13 Python
Python实战之OpenCV实现猫脸检测
Jun 26 Python
Python探索生命起源 matplotlib细胞自动机动画演示
Apr 21 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 循环列出目录内容的函数代码
2010/05/26 PHP
Yii操作数据库的3种方法
2014/03/11 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
PHP制作登录异常ip检测功能的实例代码
2016/11/16 PHP
PHP根据key删除数组中指定的元素
2019/02/28 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
javascript replace方法与正则表达式
2008/02/19 Javascript
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
JQuery页面的表格数据的增加与分页的实现
2013/12/10 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
Angularjs制作简单的路由功能demo
2015/04/14 Javascript
如何消除inline-block属性带来的标签间间隙
2016/03/31 Javascript
深入理解jQuery之事件移除
2016/06/02 Javascript
jQuery获取select选中的option的value值实现方法
2016/08/29 Javascript
js实现悬浮窗效果(支持拖动)
2017/03/09 Javascript
jQuery实现的事件绑定功能基本示例
2017/10/11 jQuery
基于VUE.JS的移动端框架Mint UI的使用
2017/10/11 Javascript
简单理解Vue中的nextTick方法
2018/01/30 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
JavaScript中 ES6变量的结构赋值
2018/07/10 Javascript
PHP实现基于Redis的MessageQueue队列封装操作示例
2019/02/02 Javascript
Vue配置marked链接添加target="_blank"的方法
2019/07/19 Javascript
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python实现简单的socket server实例
2015/04/29 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
python zip()函数使用方法解析
2019/10/31 Python
基于Python获取照片的GPS位置信息
2020/01/20 Python
sklearn的predict_proba使用说明
2020/06/28 Python
授权委托书
2014/09/17 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书
2015年度党风廉政建设工作情况汇报
2015/01/02 职场文书
公司酒会主持词
2015/07/02 职场文书
关于法制教育的宣传语
2015/07/13 职场文书