【问题标题】:How can we use mean filter as adaptive one?我们如何使用均值滤波器作为自适应滤波器?
【发布时间】:2021-01-05 00:08:02
【问题描述】:

当我们在背景区域有噪声时,我们可以使用均值滤波器来去除噪声,因为我们的处理没有清晰的特征。当我们对包含边缘(更精细的细节)的图像区域进行噪声去除时。这个区域完全模糊,我们错过了更精细的细节。

我们能否应用一个过滤器,在平坦区域(图像背景)上进行大量模糊,而在特征区域应用很少的模糊? 再来一张,

我们是否在 opencv 中实现了这个过滤器?

【问题讨论】:

标签: python c++ algorithm opencv image-processing


【解决方案1】:

一个非常好的自适应滤波器是双边滤波器。它应用高斯滤波器进行平滑处理,但另外根据每个样本与掩码下的中心值的相似程度来加权每个样本。因此,它实际上只对具有相似值的像素进行平均。在平坦区域中,所有像素都具有相似的值,因此它在整个内核上取平均值。在边缘附近,只有到边缘的像素具有相似的值,因此它只在到边缘的像素上取平均值。

在 OpenCV 中,这是在 cv::bilateralFilter 中实现的。

【讨论】:

    【解决方案2】:

    寻找中值过滤器。示例:

    在 OpenCV 中可用doc here

    【讨论】:

    • 这个在去除椒盐噪声方面效果更好,但对高斯噪声效果不佳。对于高斯噪声,它会失败。
    • @coder_v_3.0:这是一个误解。中值滤波器对高斯噪声效果很好,因为中值是平均值的良好估计值。事实上,对于高斯分布数据,在大样本量的情况下,均值和中位数是相同的。
    • @coder_v_3.0:我同意 Cris 的观点,中值滤波器在边缘保留降噪方面还不错。 (为说明选择的图像有点无关紧要。)
    • 当我们需要去除高斯噪声时,均值滤波器优于中值滤波器。谢谢@Cris,我明白你上面所说的。
    • 最大的问题主要是原始问题没有提供任何要去除的噪声示例,除了“包含边缘的图像区域的噪声去除(更精细的细节)”,可以是几乎任何事情都取决于上下文......
    猜你喜欢
    • 2018-07-24
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 2021-01-26
    • 2013-08-17
    • 1970-01-01
    • 2020-11-29
    • 2012-10-06
    相关资源
    最近更新 更多