中值滤波原理

  中值滤波本质上是一种统计排序滤波器。对于原图像中某点(i,j),中值滤波以该点为中心的邻域内的所有像素的统计排序中值作为(i,j)点的响应。

  中值不同于均值,是指排序队列中位于中间位置的元素的值,例如,采用3x3中值滤波器,某点(i,j)的8个邻域的一系列像素值为12,18,25,11、118,17、35,29,23,统计排序结果为11、12,17,18,23,25,29,35,118。排在中间位置(第5位)的23即作为(i,j)点中值滤波的响应g(i,j)。显然,中值滤波并非线性滤波器。

原理图解:选定图像中的某个像素,采用3*3的滤波窗口进行滤波,将周围的8个像素连同选定的像素进行排序,然后选择排好序的中心像素值代替原来的像素值。即将图中的23代替原来的118。

图中可以知道,当像素点太大或者太小时都不同意被选中,所以中值滤波对像素值比较大或者比较小的噪声滤除的效果比较好,如:椒盐噪声,对比较均匀的噪声滤除的效果一般,如:高斯噪声。

中值滤波的优点:

  中值滤波对于某些类型的随机噪声具有非常理想的降噪能力,对于线性平滑滤波而言,在处理的像素邻域之内包含噪声点时,噪声的存在总会或多或少地影响该点的像素值的计算,(对于高斯平滑影响程度同噪声点到中心点的距离成正比),但在中值滤波中噪声点则常常是直接被忽略掉的;而且同线性平滑滤波器相比,中值滤波在降噪同时引起的模糊效应较低。

使用MATLAB展示中值滤波效果:

在matlab中中值滤波的函数是medfilt2函数,示例1,中值滤波对椒盐噪声和高斯噪声的滤波效果展示。

1、采用的原图是:

2、滤除椒盐噪声和高斯噪声的对比代码如下:

%% 滤波效果展示
clear; clc; close all;
rawimg = imread('..\picture\1.jpg');
[~,~,index] = size(rawimg);
if index ~= 1rawimg = rgb2gray(rawimg);  % 转化为灰度图
end
% 显示原图
figure;imshow(rawimg);title('原图');% 添加噪声
salt_img=imnoise(rawimg,'salt & pepper',0.04);     % 叠加密度为0.04的椒盐噪声
guas_img = imnoise(rawimg,'gaussian',0.04);
figure;subplot(1,2,1);imshow(salt_img);title('添加椒盐噪声');
subplot(1,2,2);imshow(guas_img);title('添加高斯噪声');% 进行滤波
salt_fit = medfilt2(salt_img,[3 3]);   % 采用二维中值滤波函数对图像滤波,滤波窗口是3*3
guas_fit = medfilt2(guas_img,[3,3]);  % 滤除高斯噪声% 滤波效果:
figure;subplot(1,2,1);imshow(salt_fit);title('椒盐噪声滤波效果');
subplot(1,2,2);imshow(guas_fit);title('高斯噪声滤波效果');

添加噪声效果示例:

使用中值滤波滤除的效果示例:

分析:可以很明显的看到,中值滤波对椒盐噪声的滤除效果比高斯噪声要好,边缘部分的细节有部分的保留。

3、选择不同的窗口对椒盐噪声的滤除效果对比示例代码:

%% 滤波窗口选择展示
clear; clc; close all;
rawimg = imread('..\picture\1.jpg');
[~,~,index] = size(rawimg);
if index ~= 1rawimg = rgb2gray(rawimg);  % 转化为灰度图
end% 添加噪声
salt_img=imnoise(rawimg,'salt & pepper',0.04);     % 叠加密度为0.04的椒盐噪声
figure;subplot(1,2,1);imshow(rawimg);title('原图');
subplot(1,2,2);imshow(salt_img);title('添加椒盐噪声');% 进行滤波
min_fit = medfilt2(salt_img,[3 3]);   % 采用二维中值滤波函数对图像滤波,滤波窗口是3*3
max_fit = medfilt2(salt_img,[9,9]);  % 滤除高斯噪声% 滤波效果:
figure;subplot(1,2,1);imshow(min_fit);title('3*3滤波窗口效果');
subplot(1,2,2);imshow(max_fit);title('9*9滤波窗口效果');

添加椒盐噪声的效果示例:

分别选择[3,3]滤波窗口和[9,9]滤波窗口对噪声图像进行滤波效果对比示例:

分析:可以很明显看到,当中值滤波的窗口选择越大的时候滤波的效果比较明显,但是窗口选择越大则对原图的边缘,细节部分滤除的部分就会越多,这个特性可以根据自己的需要进行调节。

matlab图像处理-中值滤波原理相关推荐

  1. java 中值滤波_matlab图像处理-中值滤波原理(示例代码)

    中值滤波原理 ??中值滤波本质上是一种统计排序滤波器.对于原图像中某点(i,j),中值滤波以该点为中心的邻域内的所有像素的统计排序中值作为(i,j)点的响应. ??中值不同于均值,是指排序队列中位于中 ...

  2. matlab 中medfilt2报错,Matlab图像处理——中值滤波medfilt2问题解决

    程序: I=imread('13.jpg');%读入图像 imshow(I); h=imnoise(I,'salt & pepper');%为I图片叠加椒盐噪声噪声 figure;imshow ...

  3. matlab中基于十字形窗口的滤波算法,#215;字形滤波窗口在Matlab自适应中值滤波算法中的应用 - 21ic中国电子网...

    由于种种原因,图像在生成.传输.变换等过程中往往会受到各种噪声的污染,从而导致图像质量退化.噪声信号的滤波是图像处理的基本任务之一,主要有线性滤波和非线性滤波两种方法.线性滤波方法一般具有低通特性,而 ...

  4. 【图像去噪】基于matlab自适应中值滤波图像去噪【含Matlab 1156期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像去噪]基于matlab自适应中值滤波图像去噪[含Matlab 1156期] (https://download.csdn.net/d ...

  5. 中值滤波原理及其代码实现

    本文主要是对高斯滤波,中值滤波原理进行简单介绍,随后用代码实现高斯噪声和椒盐噪声.以及用高斯滤波和中值滤波对这两种图像进行相关的处理. 高斯噪声:就是服从高斯正态分布的噪声,通常是因为高温或者是传感器 ...

  6. 中值滤波原理及其C++实现与CUDA优化

    对于数字图像的去噪,前边我们讲了均值滤波算法与高斯滤波算法,此外很常见的还有中值滤波算法,这些滤波算法都属于空间滤波,即对于每一个像素点,都选取其周围矩形区域中的像素点来计算滤波值.最近在项目中要使用 ...

  7. 数字图像处理 中值滤波 MATLAB实验

    一.原理_中值滤波 中值滤波的基本思想是将图像中每个像素的灰度值用其邻域内像素灰度的中值代替,它是一种非线性平滑滤波算法. 设加噪图像为 f(x,y) ,经中值滤波处理后的图像为g(x,y) ,则: ...

  8. 中值滤波原理及matlab实现代码

    一.基本原理 上述均值滤波虽然可以降低噪声,但是也会导致图像模糊.而中值滤波在一定条件下可以克服线性滤波带来的图像细节模糊的问题,它对处理椒盐噪声非常有效. 中值滤波通常采用一个含有奇数个点的滑动窗口 ...

  9. 中值滤波原理及MATLAB算法实现

    中值滤波是一种非线性滤波方式,它依靠模板来实现. 对于一维中值滤波,设模板的尺寸为 M ,M=2*r+1,r为模板半径,给定一维信号f(i),i = 1,2,3--N,则中值滤波输出为: g(i) = ...

最新文章

  1. CentOs下卸载程序
  2. R语言glmnet交叉验证选择(alpha、lambda)拟合最优elastic回归模型:弹性网络(elasticNet)模型选择最优的alpha值、模型最优的lambda值,最终模型的拟合与评估
  3. 怎么查看页面跳转过程_faststonecapture注册码在哪?怎么获取?
  4. Linux系统编程——线程(1)
  5. comment on 视图_oracle 使用comment语句添加表注释
  6. Loadrunner脚本优化-参数化之关联MySQL数据库获取数据
  7. Eclipse 隐藏已关闭的项目
  8. POJ 3087 Shuffle'm Up(水题)
  9. Java 集合-Arrays工具类的介绍
  10. Oracle视图传递参数
  11. MEMZ病毒详细分析
  12. linux环境下的jmeter测试
  13. 详细跨境电商模式分析
  14. electron,win10,消息通知
  15. 家·谱——人脸识别家谱系统
  16. 请叫我En-Tan-Mo
  17. [更新]android平板手机 通过usb otg 来充电(以nexus 7 一代为例USB ROM)
  18. html5播放mp4不见画面,浏览器播放mp4格式视频时只有声音看不到画面的原因及解决方法(精)...
  19. 扩容战争(上):内困与革命
  20. HTTP Status 400 (HTTP400状态码)

热门文章

  1. Python爬虫——抓取贴吧帖子
  2. 2020计算机考研专业课视频,2020计算机考研视频哪个好
  3. UNIAPP、微信小程序激励视频、插屏等封装
  4. python 发邮件 抄送_Python发送email的3种方法
  5. 「敏捷架构」敏捷架构:规模化敏捷开发的策略
  6. js实战 网页五子棋进阶版
  7. 传感器分类大全_莫韵乐的知识拓展系列
  8. 技术分享| anyRTC服务单端口设计
  9. C/C++函数指针与函数指针数组的使用
  10. 支持向量机SVM详解——带有松弛变量的数学模型