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中用memcached来减少数据库查询次数的教程
Apr 07 Python
python实现数组插入新元素的方法
May 22 Python
Python 功能和特点(新手必学)
Dec 30 Python
python使用fcntl模块实现程序加锁功能示例
Jun 23 Python
Python工程师面试必备25条知识点
Jan 17 Python
Python 输入一个数字判断成绩分数等级的方法
Nov 15 Python
python使用turtle绘制国际象棋棋盘
May 23 Python
Python进程Multiprocessing模块原理解析
Feb 28 Python
Python中如何引入第三方模块
May 27 Python
python如何快速拼接字符串
Oct 28 Python
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
Jun 11 Python
python如何为list实现find方法
May 30 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/01/18 PHP
php检测图片木马多进制编程实践
2013/04/11 PHP
使用PHP实现蜘蛛访问日志统计
2013/07/05 PHP
php is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
2016/12/06 PHP
PHP实现提高SESSION响应速度的几种方法详解
2019/08/09 PHP
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
JS实现的论坛Ajax打分效果完整实例
2015/10/31 Javascript
JavaScript实现身份证验证代码
2016/02/17 Javascript
vue 里面使用axios 和封装的示例代码
2017/09/01 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
ES6 系列之 WeakMap的使用示例
2018/08/06 Javascript
AngularJS与后端php的数据交互方法
2018/08/13 Javascript
Vue项目history模式下微信分享爬坑总结
2019/03/29 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
Nodejs libuv运行原理详解
2019/08/21 NodeJs
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
JavaScript实现密码强度实时验证
2020/03/18 Javascript
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
Python获取一个用户名的组ID过程解析
2019/09/03 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
美国知名的在线旅游服务网站:Priceline
2016/07/23 全球购物
耐克中国官方商城:Nike中国
2018/10/18 全球购物
工程预算与管理应届生求职信
2013/10/06 职场文书
家居设计专业个人自荐信范文
2013/11/26 职场文书
自动一体化专业求职信
2014/03/15 职场文书
HR求职自荐信范文
2014/06/21 职场文书
街道社区活动报告
2015/02/05 职场文书
工程部岗位职责
2015/02/10 职场文书
个人先进事迹总结
2015/02/26 职场文书
小学教师工作总结2015
2015/04/07 职场文书
绿色环保倡议书
2015/04/28 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书