Python实现中值滤波去噪方式


Posted in Python onDecember 18, 2019

中值滤波器去噪:

中值滤波的主要原理是将数字图像中的某点用该点的邻域中各个像素值的中值所来代替,这样就能让目标像素周围能够更好的接近真实值,比如一张白纸上有一个黑点时,黑点的像素值比较大,经过中值滤波过后,黑点附近的像素值可能就会变小。经过中值滤波后一些相对孤立的噪声点就容易被清除掉,这样就能提高图像的质量。

所以中值滤波器去噪的一个优点就是对椒盐噪声的去除具有很好的效果,具体操作是选取一个中心邻域,然后给邻域类各个像素的灰度值按大小进行排序,选取排序序列中的中值作为该邻域中心点的像素值的灰度值。

它的缺点是当邻域挑选过大时,可能会造成图像特征丢失。

实现代码如下:

import numpy as np
import cv2
from PIL import Image
import scipy.signal as signal
import matplotlib.pyplot as plt
#创建一个500*500的矩阵
input_images = np.zeros((500, 500))
filename = "E:/pycharm/GraduationDesign/Test/testtwo.png"
#convert将当前图像转换为灰度模式,并且返回新的图像。
#将图片在重新定义的矩阵中再显示,不然可能会只显示部分。
img = Image.open(filename).resize((500, 500)).convert('L')
plt.subplot(221)
plt.title('原图', fontproperties=font_set)
plt.imshow(img)
#图像的尺寸,按照像素数计算。它的返回值为宽度和高度的二元组(width, height)。
width = img.size[0]
height = img.size[1]
threshold=130
#可以改写代码使其成为二值化,此代码可理解为反向二值化
for h in range(height):
 for w in range(width):
  #getpixel直接获得(h,w)处的像素直接返回这个点三个通道的像素值
  #返回给定位置的像素值。如果图像为多通道,则返回一个元组(r,g,b,阈值)。
  #如果改成(w,h)出现的图像会倒转
  if img.getpixel((w, h)) < threshold:
 
   input_images[h, w] = 1
  else:
   input_images[h, w] = 0
plt.subplot(222)
plt.title('二值化', fontproperties=font_set)
plt.imshow(input_images)
 
data = signal.medfilt2d(np.array(img), kernel_size=3) # 二维中值滤波
for h in range(0, height):
 for w in range(0, width):
  if data[h][w] < 128:
   input_images[h, w] = 0
  else:
   input_images[h, w] = 1
 
plt.subplot(223)
plt.title('中值滤波去噪(3*3)', fontproperties=font_set)
plt.imshow(input_images)
 
data = signal.medfilt2d(np.array(img), kernel_size=7) # 二维中值滤波
for h in range(0, height):
 for w in range(0, width):
  if data[h][w] < 128:
   input_images[h, w] = 0
  else:
   input_images[h, w] = 1
plt.subplot(224)
plt.title('中值滤波去噪(7*7)', fontproperties=font_set)
plt.imshow(input_images)
plt.show()

效果图:

Python实现中值滤波去噪方式

图中的小黑点是我简单模拟实现图片中含有椒盐噪声中所加入的。当中值滤波领域选取过大时会使图片失真。

以上这篇Python实现中值滤波去噪方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中解析JSON并同时进行自定义编码处理实例
Feb 08 Python
Python functools模块学习总结
May 09 Python
Flask框架的学习指南之开发环境搭建
Nov 20 Python
python实现远程通过网络邮件控制计算机重启或关机
Feb 22 Python
Python中的函数式编程:不可变的数据结构
Oct 08 Python
对Python3 解析html的几种操作方式小结
Feb 16 Python
Python远程视频监控程序的实例代码
May 05 Python
Python嵌套函数,作用域与偏函数用法实例分析
Dec 26 Python
pandas DataFrame 数据选取,修改,切片的实现
Apr 24 Python
Python自动化操作实现图例绘制
Jul 09 Python
pandas apply多线程实现代码
Aug 17 Python
如何完美的建立一个python项目
Oct 09 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
Dec 18 #Python
Python字典底层实现原理详解
Dec 18 #Python
Python利用PyExecJS库执行JS函数的案例分析
Dec 18 #Python
简单介绍django提供的加密算法
Dec 18 #Python
详解从Django Allauth中进行登录改造小结
Dec 18 #Python
解决pycharm最左侧Tool Buttons显示不全的问题
Dec 17 #Python
python 字段拆分详解
Dec 17 #Python
You might like
PHP高自定义性安全验证码代码
2011/11/27 PHP
php对csv文件的读取,写入,输出下载操作详解
2013/08/10 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
php输入流php://input使用浅析
2014/09/02 PHP
php实现对象克隆的方法
2015/06/20 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
IE关闭时判断及AJAX注销案例学习
2013/02/18 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
2013/11/25 Javascript
Jquery实现动态切换图片的方法
2015/05/18 Javascript
JQuery节点元素属性操作方法
2015/06/11 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
jquery实现自定义图片裁剪功能【推荐】
2017/03/08 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
2020/09/17 Javascript
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
python定时器使用示例分享
2014/02/16 Python
python实现的二叉树算法和kmp算法实例
2014/04/25 Python
详解Python中time()方法的使用的教程
2015/05/22 Python
Windows安装Python、pip、easy_install的方法
2017/03/05 Python
同时安装Python2 &amp; Python3 cmd下版本自由选择的方法
2017/12/09 Python
python 错误处理 assert详解
2020/04/20 Python
python实例化对象的具体方法
2020/06/17 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
2020/07/09 Python
Python 在函数上添加包装器
2020/07/28 Python
阿迪达斯加拿大官网:Adidas加拿大
2016/08/25 全球购物
英国豪华装饰照明品牌的在线零售商:Inspyer Lighting
2019/12/10 全球购物
运动会四百米广播稿
2014/01/19 职场文书
优秀党务工作者事迹材料
2014/05/07 职场文书
消防隐患整改通知书
2015/04/22 职场文书
2015年食堂工作总结报告
2015/04/23 职场文书
检讨书怎么写
2015/05/07 职场文书