Hybrid   发布时间:2022-05-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了混合中值滤波器 ( Hybrid Median Filter ) C++ 实现大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

在中值滤波器和均值滤波器之后,我们看到是中值滤波器的改版,这个名字我实在不好把握 Hybrid Median Filter实在不知道翻译成什么比较妥当.只好沿用了混合动力车里面的混合二字,姑且把这种滤波器命名为混合中值滤波器. 这个滤波器的工作流程较之原先有些繁琐,来看看这张图

混合中值滤波器 ( Hybrid Median Filter ) C++ 实现

图截的有些模糊,但是还是看出了大致的流程,首先当前像素的上下左右和自身取中值 ,然后左上右上左下右下和自身取中值 ,完了前面的两个值和当前像素值再取一次中值 ,得到的值就是最后的终极像素值了. 可以看到这个流程还是有些复杂的.. 那他的效果如何捏? 我们还是和前几次一样来观察一把:

原图                                                                           HMF之后:

混合中值滤波器 ( Hybrid Median Filter ) C++ 实现

混合中值滤波器 ( Hybrid Median Filter ) C++ 实现

噪声污染:                                                                   HMF之后:

混合中值滤波器 ( Hybrid Median Filter ) C++ 实现

混合中值滤波器 ( Hybrid Median Filter ) C++ 实现

从前面的图片可以看到,图片从高锐度经由混合中值滤波之后,锐度下降了. 但是在去噪声的环节上,这个所谓的混合中值滤波器表现的甚至不如中值滤波来的效果好,当然因为这里的噪声是随机的,可能有些因素在其中. 但从原理上分析.这种滤波器确实存在不能过滤掉的可能,原因在什么地方呢? 且看我们这个大图中的一个小局部:

混合中值滤波器 ( Hybrid Median Filter ) C++ 实现

把图放大之后看的很清楚了,在红色的圆圈圈出来的地方,不出意外的发现了水平连续的3个白色像素. 再联想到我们之前经过HMF之后的效果图就不难得出结论,就是者连续的3个点造成了最后的这个白色像素. 怎么说呢? 很简单,在HMF的第一步过程中,因为我们选择的点是5各点,上下左右中,那么经过计算,就是白色无疑了,不管第二步得到什么像素,在第三步的时候,让2个白色取中值,肯定得到的白色像素了! 仔细想来确实是这个么道理.  但是median filter的时候因为要整体虑9个像素的中值,这里很有可能就不是白色了! 所以这个混合中值滤波器会在保持线条的边缘上有独到之处(因为比较容易保持联系像素的颜色不受伤害),而消除噪声还是median filter表现更胜一筹.

老规矩,最后再贴一下处理的函数@L_197_8@:

因为要取中值,还附加了一个取中值的@L_504_7@median:)

大佬总结

以上是大佬教程为你收集整理的混合中值滤波器 ( Hybrid Median Filter ) C++ 实现全部内容,希望文章能够帮你解决混合中值滤波器 ( Hybrid Median Filter ) C++ 实现所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。