python - 什么是 alpha 修剪均值滤波器?

标签 python algorithm opencv image-processing definition

我理解均值滤波器,它取内核像素的平均值,我也理解中值滤波器,它取内核像素的中值(对所有值进行排序并取内核的中间值)。

Alpah 修剪均值滤波器提供均值和中值滤波器的混合。输出是

Equation of output pixel from filter

我不明白这个过滤器是怎么回事。谁能解释清楚这个过滤器?

最佳答案

如您所说,此过滤器是均值过滤器和中值过滤器的组合。 首先,我们看看我们可以在哪里使用这个过滤器。它在存在高斯噪声和离群噪声的情况下表现相当好。

这是一种算法方法,试图将均值滤波器的属性与中值滤波器的属性结合起来。它有一个名为 P 的参数,用于确定要应用多少均值滤波器和多少中值滤波器。

尝试使用 p,您可以充分利用中值和均值混合组合。

当您的图像具有高斯噪声 + 离群噪声(椒盐噪声)时,您可以使用中值滤波器去除高斯噪声,然后使用中值滤波器/最小滤波器/最大滤波器去除离群噪声。但在这种方法中,我们需要进行更多的内核处理,因此这在计算上是非常需要的。

在这种情况下,我们可以使用 alpha-trimmed 均值过滤器,它首先应用中值过滤器。选择一个中值窗口而不是单个值(以中值为中心的特定窗口),然后对该部分进行均值过滤。如果您的中值窗口很小,它看起来就像一个简单的中值。 5 * 5 窗口,把它放在一个大小为 25 的数组中。如果你只应用中位数,你将只选择中点,但这里我们在这里做的是围绕中点我们选择一个窗口(数组中心的 5 个元素是中间点)并对窗口应用均值过滤。 通过参数 P,我们可以决定需要应用多少中值和均值滤波器。

如果我们减小P,用于均值滤波的窗口大小会变高,我们会增加均值滤波效果。 如果我们增加P,取均值滤波的窗口大小将在此基础上减小,我们增加了中值滤波效果。

我们在这里所做的是,首先我们对图像应用中值滤波器并获得中值像素位置,然后我们在中值像素值周围开一个窗口,然后对该窗口应用一个均值滤波器. 基本上,平均滤波器窗口大小取决于 p,当我们增加 p 时,窗口大小将减小,因此平均滤波器效果将降低,反之亦然

考虑以下窗口大小

| 20 20 8|

|21 19 12|

|19 22 10|

有序列表为 { 8, 10, 12, 19, 19, 20, 20, 21, 22}

对于不同的p值,输出如下:

0 - 16.8

1 - 17.3

2 - 18.0

3 - 19.3

4 - 19.0

我们所做的第一件事是获得中值窗口。然后我们根据p值对像素进行排序,我们的值从窗口的平均值变为窗口的中值(16.8到19.0)

关于python - 什么是 alpha 修剪均值滤波器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63948384/

相关文章:

php - 生成 Luhn 校验和

c++ - 如何在 OpenCV 中获取视频的帧馈送?

opencv - 从热图计算离散点

python - 无法通过类变量连接到MongoDB数据库和集合

multithreading - 先发制人如何运作?

python - 从 Python 子进程返回值

算法帮助,数学很烂

opencv - 图像分割技术

Python 仅使用列表理解动态计算没有重复项的列表

python - 为什么格式化会导致 print() 失败?