引言:在处理图像时,线性滤波将破坏边缘,而且不能有效滤除脉冲噪声。非线性滤波基于对输入信号序列的一种非线性映射关系,常可把某一特定的噪声近似映射为零而保留信号的重要特征,因而可以在一定程度上克服线性滤波的不足。浅谈中值滤波

中值滤波

1.原理
设有一个序列:x1,x2,x3,x4,x5,将它们按照绝对值大小重新排列此序列x3,x5,x2,x4、x1,重排以后的中值是×2,此值就作为滤波的输出。

2.Matlab代码实现

function g = median_filter(f)
[height, width]= size(f); % 输入图像的大小
g = zeros(height, width); % 为输出图像分配内存
for y = 1:heightfor x = 1:widthx1 = x - 2; % 5x5 窗口的左列x2 = x + 2; % 5x5 窗口的右列y1 = y - 2; % 5x5窗口的顶行y2 = y + 2; % 5x5窗口的底行% 当邻域超出图像边界时,舍去超过边界的领域x1 = max(x1, 1);x2 = min(x2, width);y1 = max(y1, 1);y2 = min(y2, height);window = f(y1:y2, x1:x2); % 5 x 5窗口window = window(:); % 将窗口重新排列为列向量g(y, x) = median(window); % 输出像素=窗口的中值end
end
g = uint8(g); imshow(g); % 转换为8位图像并显示

中心加权中值滤波(the center weighted median filter)

1.原理
先解释一下加权中值滤波:
设有三个数(3,3,9),中位数为3,若加权系数为(1,1,3),即X3的加权系数W3=3,X1和X2的加权系数分别为W1和W2=1,也就是相当于X1重复1次,X2重复1次,X3重复3次,即相当于有5个数(3,3,9,9,9),中位数为9。一般中值滤波则相当于权系数为(1,1,1)。
而中心加权中值滤波:
就是对中心值加权(重复)
设有三个数(3,6,9),中位数为6,若中心加权系数为3,即X2的权系数W2=3,也就是相当于X2重复2次即相当于有5个数(3,6,6,6,9),中位数为6。一般中值滤波则相当于权系数为(1,1,1)。
2.Matlab代码实现

function g = cw_median_filter(f, M)
[height, width]= size(f);
g = zeros(height, width);
for y = 1:heightfor x = 1:widthx1 = x - 2; x2 = x + 2; y1 = y - 2; y2 = y + 2; x1 = max(x1, 1);x2 = min(x2, width);y1 = max(y1, 1);y2 = min(y2, height);window = f(y1:y2, x1:x2); window = window(:); window1=[window;repmat(f(y,x),M-1,1)];  %M-1的原因是,window本身就包含了f(y,x) ,当M=1时就是中值滤波g(y, x) = median(window1); end
end
g = uint8(g);

matlab中repmat函数的用法

数字图像处理——中值滤波中心加权中值滤波相关推荐

  1. NR基础篇下——中值滤波、多级中值滤波、多级中值混合滤波、加权中值滤波、中值有理滤波

    上一篇分享了一些均值滤波相关的算法,均值滤波作为一种线性滤波器,在滤除噪声的同时也会导致边缘模糊问题.而且均值滤波对高斯噪声的效果很好,但是对于椒盐噪声的效果就很一般.但是中值滤波作为一种顺序滤波器, ...

  2. 【数字图像处理2.1 】频率域中的 高通滤波 和 低通滤波 Python+Opencv+Numpy

    文章目录 前言 1.实验目的 2.频率域中高通.低通的效果图 3.代码 4.空间域滤波 与 频率域滤波比较 (1).回顾空间滤波 (2).相同点: (3).不同点: (4).二者关系: 前言 1.图像 ...

  3. 数字图像处理报告:实验3 同态滤波、频域滤波、傅里叶变换性质、DCT变换性质

    实验3 同态滤波.频域滤波.傅里叶变换性质.DCT变换性质 一.实验主题: 学习同态滤波.频域滤波.傅里叶变换性质.DCT变换性质,掌握其原理,并学会编程,实现这些方法与性质. 二.实验目的: 1.掌 ...

  4. 数字图像处理100问—33 傅立叶变换——低通滤波

    提示:内容整理自:https://github.com/gzr2017/ImageProcessing100Wen CV小白从0开始学数字图像处理 33 傅立叶变换--低通滤波 将imori.jpg灰 ...

  5. 数字图像处理(四)大津二值化

    题目:使用大津二值化算法进行二值化时阈值的确定. 采用国际标准测试图像Lena. 算法原理 我们在对图片进行二值化时,是希望将图片分割成两部分,称之为前景和背景.一般情况下,我们将感兴趣的部分称为前景 ...

  6. 数字图像处理:图像分割 人工智能算法在图像处理中的应用

    人工智能算法在图像处理中的应用 人工智能算法包括遗传算法.蚁群算法.模拟退火算法和粒子群算法等,在图像边缘检测.图像分割.图像识别.图像匹配.图像分类等领域有广泛应用.本文首先介绍常用人工智能算法的的 ...

  7. [matlab数字图像处理8]提取一副彩色图像中红色,用HIS模型处理,RGB模型对比显示

    一. 问题描述 提取一副彩色图像中红色,用HIS模型处理,RGB模型对比显示: 二. 求解思路 彩色图像的处理有两种主要方法,RBG(红,绿,蓝)和HIS(色调,饱和度,亮度),matlab可以直接读 ...

  8. 第5章 Python 数字图像处理(DIP) - 图像复原与重建16 - 约束最小二乘方滤波、几何均值滤波

    标题 约束最小二乘方滤波 几何均值滤波 约束最小二乘方滤波 F^(u,v)=[H∗(u,v)∣H(u,v)∣2+γ∣P(u,v)∣2]G(u,v)(5.89)\hat{F}(u,v) = \bigg[ ...

  9. 数字图像处理——中值滤波及其改进算法

    一.算法介绍 中值滤波器是非线性滤波器的一个例子,它在保留图像特征方面非常有效. 但是,滤波器的窗口大小直接影响中值滤波器的性能. 较小的窗口保留了特征,但会导致噪声抑制的减少. 在较大窗口的情况下, ...

最新文章

  1. python数据分析的主要流程-Python数据分析流程
  2. Spring Aop 组件概述
  3. Visual Studio Online,带来四种开发模式,未来已来。
  4. 国家开放大学2021春1108钢结构(本)题目
  5. Spring整合Quartz实现定时任务
  6. 当翻译变成了文本编辑。。。
  7. Hadoop4——HA集群的搭建(高可用)
  8. C++ 对象关系映射(ORM)介绍
  9. 18.数组(一)之认识java数组
  10. STK X教程—C++/CLI
  11. 华为年报透露员工收入:2016年平均薪酬近60万
  12. Spring Boot中使用JUnit5进行单元测试
  13. HTB分层令牌桶排队规则分析
  14. 2022英语词汇积累
  15. 说一说我在创建星球这10多天,在星球里干了啥?
  16. 内存不能为“read”或“written”的解决方案
  17. 【PYNQ】PYNQ的视频资料介绍
  18. 如何把图片转换jpg格式呢?
  19. 怎么设置uboot从u盘启动linux,RT5350使用uboot从U盘启动linux顺利
  20. 160个CrackMe 028 Cosh.2

热门文章

  1. 江南大学计算机考研学硕报录比,江南大学考研报考录取比例
  2. 简道云教学 | 零代码应用开发软件助力应用型高校学生创新能力培养
  3. 分布式存储系统的分类
  4. 网络抓包与流量在线分析系统的设计与实现-基于libpcap在MacOS上实现 记录这愉快(DT)的一周
  5. vba抽奖ppt 深蓝计协电竞大赛
  6. 一篇文章带你深入理解 Object 类和 Class 类
  7. 15款音视频开发工具,拒绝加班熬夜
  8. 进销存软件:销售开单如何设置负库存开单或筛除负库存商品?
  9. 【强化学习】解决gym安装Atari2600环境gym[atari,accept-rom-license] RuntimeError 无法下载Roms的问题
  10. unicode转utf8