作者:手浪用户2602922465 | 来源:互联网 | 2023-10-11 07:27
言归正传,我们先挑一个相对最简单的滤波算法(其实均值滤波更简单,但是它对边缘的保持太差,那就稍微努力点用中值滤波吧)。进行中值滤波不仅可以去除孤点噪声,而且可以保持图像的边缘特性,不会使图像产生显著的模糊,比较适合于实验中的人脸图像。
简单阐述下中值滤波算法与均值滤波的区别如下:
(1)均值滤波相当于低通滤波,有将图像模糊化的趋势,对椒盐噪声基本无能力。
(2)中值滤波的有点事可以很好的过滤椒盐噪声,缺点是容易造成图像的不连续。
这里抠取Bingo在网上找到中值滤波与均值滤波的对比效果,由于版权,尊重原创,感谢博主,转载必注:
http://www.360doc.com/content/13/0124/16/10086564_262170551.shtml
图1为含有椒盐噪声的Lena,图2为均值滤波后的Lena,可见效果并不明朗!!!图3为中值滤波后的Lena,世界竟然可以如此的精彩!!!因此设计实现中值滤波势在必行,快马加鞭啊!!!(不认识Lena美女的可以去查看下网上关于Lena的起源,本教程配套资料中也有Lena的全图,敬请欣赏。)
中值滤波算法可以形象的用上述表格来描述,即对于每个3*3的阵列而言,中间像素的值,用这9个值的中值去代替。即只要求得3*3像素阵列的中间值即可,这样就有效的移除了最大值与最小值,图像会变得均匀,对椒盐噪声有很好的滤除效果!
算法的理论很简单,对于C处理器而言,一幅640*480图像的均值滤波,可以很方便的通过数组获得3*3的阵列,但对于我们的Verilog HDL而言,着实不易,一开始想都想不明白!!!