【问题标题】:"Echo" in Low Pass Filter of an Image图像低通滤波器中的“回声”
【发布时间】:2013-10-30 05:47:47
【问题描述】:

我正在尝试在 Java 中实现图像的低通空间过滤器(使用 jTransforms),但我看到了一些我无法解释的奇怪行为。

如果我执行 FFT 然后直接返回图像,一切正常,但是当我尝试放入滤镜时,我会在 y 轴上得到原始轮廓的“回声”:

如果有人能解释一下,我将不胜感激!我使用的过滤器是一个简单的阶跃函数。

【问题讨论】:

  • 振铃是理想低通滤波器的固有属性。在空间域中检查你的滤波器的逆,你就会明白为什么。最好使用巴特沃斯或高斯滤波器。后者的点扩散函数也是高斯的,所以它是最安全的选择。你在那里的东西看起来像分歧(零)。
  • 谢谢,但我不认为它可能是这样 - 振铃发生在急剧的过渡附近,并表现为对象的“轮廓”。
  • 显示您的代码。你分东西吗?极值附近的伪影看起来像数值稳定性错误。但仅在频率域中使用 {1,0} 理想过滤器不会这样做。

标签: java image-processing 2d fft


【解决方案1】:

啊 - 摇晃它。在过滤过程中,我没有正确处理傅里叶变换的虚部。当转换回空间域时,这会导致回声。

【讨论】:

    【解决方案2】:

    除非您在频域中使用窗函数,否则您会得到振铃伪影,因为频域中的阶跃函数会变成空间域中的 sinc 函数。换句话说,您不能只在频域中定义“砖墙”滤波器,而不会产生诸如此类的令人讨厌的伪影。

    【讨论】:

      猜你喜欢
      • 2016-02-13
      • 2017-03-11
      • 2021-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-29
      • 2011-08-31
      相关资源
      最近更新 更多