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实现的解析crontab配置文件代码
Jun 30 Python
Python中的模块和包概念介绍
Apr 13 Python
解决python3在anaconda下安装caffe失败的问题
Jun 15 Python
python 实现倒排索引的方法
Dec 25 Python
Python socket模块实现的udp通信功能示例
Apr 10 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
Aug 24 Python
Python图片的横坐标汉字实例
Dec 04 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
May 13 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
May 28 Python
Python中flatten( ),matrix.A用法说明
Jul 05 Python
Python matplotlib模块及柱状图用法解析
Aug 10 Python
Python批量解压&压缩文件夹的示例代码
Apr 04 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二维数组排序详解
2013/11/06 PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
2014/01/03 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
extjs grid设置某列背景颜色和字体颜色的方法
2010/09/03 Javascript
JS操作Cookie写入和读取实例代码
2013/10/20 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
js判断页面中是否有指定控件的简单实例
2014/03/04 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
基于jQuery实现文本框缩放以及上下移动功能
2014/11/24 Javascript
JavaScript实现基于Cookie的存储类实例
2015/04/10 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
2015/08/26 Javascript
学习JavaScript设计模式之装饰者模式
2016/01/19 Javascript
详解extract-text-webpack-plugin 的使用及安装
2018/06/12 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
详解在React中跨组件分发状态的三种方法
2018/08/09 Javascript
浅析vue-router原理
2018/10/19 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
如何阻止移动端浏览器点击图片浏览
2020/08/29 Javascript
[01:01:43]EG vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
Python实现的寻找前5个默尼森数算法示例
2018/03/25 Python
python的pandas工具包,保存.csv文件时不要表头的实例
2018/06/14 Python
浅谈python requests 的put, post 请求参数的问题
2019/01/02 Python
Python3多线程基础知识点
2019/02/19 Python
Django CBV类的用法详解
2019/07/26 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
2021/02/25 Python
建筑工程实习自我鉴定
2013/09/19 职场文书
儿科护士自我鉴定
2013/10/14 职场文书
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
火锅店创业计划书范文
2014/02/02 职场文书
美术教师个人总结
2015/02/06 职场文书
后勤工作个人总结
2015/02/28 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
婚庆答谢词大全
2015/09/29 职场文书