函数 > 图像处理 > 卷积和滤波器 > Wiener 滤波
  
Wiener 滤波
wiener2d(M, win_h, win_w) - 使用宽为 win_w 个像素、高为 win_h 个像素的局部窗口对 M 执行 2D 自适应 Wiener 滤波。
Wiener 滤波是早期开发的、用来降低图像中加性随机噪声的方法之一。该方法假设加性噪声是稳定的随机过程,与像素位置无关;该算法可最小化原始图像和重建图像之间的方差。Wiener 滤波是低通滤波,但它使用的却不是单独的截止频率,而是随空间变化的滤波,这种方式的设计目的是在低画质区域使用低截止频率,而在具有边界或其他具有高方差特征的区域使用高截止频率来保持画质。窗口大小决定总截止频率:窗口越大,对应的截止频率越低,因此模糊和噪声也消减越多。
Wiener 滤波有多种可行的实现方式。此 PTC Mathcad 函数中使用的是逐像素 2D 自适应 Wiener 滤波方法,此方法由 Lee 在 1980 年提出 (请参见 Jae S. Lim 所著的 Two-Dimensional Signal and Image Processing (《二维信号与图像处理》) 第 536-40 页),其中使用了随空间变化的滤波,并假定加性噪声是白噪声且均值为零。
在此算法中,滤波后的图像中的像素 y 是从噪声输入图像中的像素 x 通过以下变换衍生而来的:
其中 μxvx 是像素周围邻域的 x 的平均值和方差 (邻域大小由函数的自变量 win_hwin_w 指定),vn 是所引入的噪声的方差,它通过输入图像进行预估。输出的各个像素是输入像素的邻域局部平均值与缩放后的局部对比度条件 (x - μx) 的总和,因此在噪声方差 (vn) 比图像方差 (vx) 小得多的高画质区域内,缩放因子非常接近于 1,而输出像素 y 非常接近输入像素 x (滤波很少),但在图像方差较小的低画质区域,输出像素会逐渐趋向于局部平均值 (这表明它属于低通滤波)。
图像的边界将被视为零灰度值的延伸,这可使图像边界附近的输出像素无效 (最大直到邻域窗口大小)。而且,邻域窗口不应大于输入图像。
自变量
M 为图像矩阵。
win_hwin_w 为整数。