老师给了一段程序要求改为中值滤波啊!没有学过matlab求高手指导啊!

老师给了一段程序要求改为中值滤波啊!没有学过matlab求高手指导啊!,第1张

你这个就是简单的加权滤波算法(模板是3*3),不过加权系数不对,正常应该是中心位置(也就是a(5))的权重最高。

改成春知中腊丛值滤波算法很简单,将a(1)~a(9)递增或递减排序(用sort()函数,去help里查轮森樱),然后取出中间元素,赋值给X2(i,j)就哦了~

/埋尺/ 中值滤波对椒盐噪声肢皮

RGB=imread('历液差peppers','PNG')

I=rgb2gray(RGB)

J=imnoise(I,'salt &pepper',0.02)

subplot(121),imshow(J)

L=medfilt2(J,[3 3])

subplot(122),imshow(L)

问及中值滤波的性能,希望能有改进效果的算法。因为我看那篇论文已经不记得是哪里的了,所以无法提供原文,现将其主要改进思想和方法写出来,希望对你有帮助:

问题的提出:

中值滤波效果依赖于皮春滤波窗口的大小,太大会使边缘模糊,太小了则去噪效果不好。

改进思想:

因为噪声点和边缘点同样是灰度变化较为剧烈的象素,普通中值滤波在改变噪声点灰度值的时候,会一定程度地改变边缘象素灰度值。但是噪声点几乎都是领域象素液袜的极值,而边缘不是,因此可以利用这个特性来限制中值滤波。

改进燃埋耐方法:

当处理该象素的时候,看该象素是否是滤波窗口所覆盖下邻域象素的极大或者极小值,如果是,则用正常的中值滤波处理该象素。如果不是,则不处理。

我试过这种方法,经试验发现该方法能非常有效地去除突发噪声点,尤其是椒盐噪声,而几乎不影响边缘。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12549019.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存