作为家庭作业的一部分,我们正在实施逆滤波器。降级图像,然后使用反向过滤器恢复。
我使用 5x5 盒式滤波器对空间域中的图像进行卷积。我对过滤器进行 FFT,对降级图像进行 FFT,然后将降级图像除以过滤器。将结果逆 FFT 转换为图像,我得到垃圾。
如果我对图像进行 FFT,对过滤器进行 FFT,将两者相乘,然后将结果除以 FFT 过滤器,显然我会非常接近原始图像。((X*Y)/Y ~== X)
我知道数学并不像“空间卷积 == FFT 乘法”那么简单。
使用逆滤波器的正确方法是什么?我使用的确切内核会降低图像质量。我没有添加任何噪音。
Bovik 的教科书《图像处理基本指南》几乎完全不屑一顾逆滤波器。Gonzalez&Woods 更有希望,但几乎立即跳到 Wiener Filter。
我在stackoverflow.com上有一个类似的问题 https://stackoverflow.com/questions/7930803/inverse-filter-of-spatially-convolved-versus-frequency-convolved-image
(这个问题也应该被标记为 [homework],但该标签还不存在,我没有代表来创建它。)
编辑。对于以下一些很棒的建议。@dipan-mehta 在 FFT 之前,我将卷积核填充到与图像相同的大小。我把内核放在左上角。我 ifft(ifftshift()) 然后保存到图像中,我得到了一个很好的结果。我已经在内核和图像上完成了 ifft(ifftshift()) 。好(ish)的结果。(图片在我的https://stackoverflow.com/questions/7930803/inverse-filter-of-spatially-convolved-versus-frequency-convolved-image问题中。)
@jason-r 可能是正确的。我不明白底层卷积+变换的数学。“反卷积”对我来说是一个新词。还有很多东西要学。谢谢您的帮助!
我对家庭作业的解决方案是在频域中做所有事情。我和教授谈过。我让任务变得比必要的更难。她希望我们添加噪声,然后尝试逆滤波器、维纳滤波器和约束最小二乘滤波器。练习的重点是了解滤波器如何处理噪声。