我正在尝试了解图像的逆滤波,并在 MATLAB 中的测试图像上进行尝试。
测试图像是一个 8x8 棋盘格,具有 64x64 像素,由 MATLAB 代码生成:
g = checkerboard(8);
我正在使用 3x3 平均滤波器 h,并将其与测试图像进行卷积。
我没有添加噪声,我想查看对失真图像进行直接逆滤波的结果。
我通过以下方式在频域中应用反卷积函数:
1) 填充 3x3 平均掩码 h 以生成 64x64 掩码 hp。
2) 将 hp 的系数 (0.111...) 居中以保持对称。
3) 将 hp 乘以 (-1)^x+y (因为我希望掩码的 fft 给我一个居中的傅立叶变换,hpc.
4) 取填充的居中蒙版的 FFt 并乘以 (-1)^(u+v)(因为我在步骤 2 中将蒙版居中在空间域中)得到 H.
5) 将失真的频移测试图像除以 H,即 Y = G./H。(注意:我没有填充图像,因为遮罩被填充了,环绕在这里并不是一个大问题)
6) 获得逆滤波图像 inv = (-1)^x+y * real(ifft2(Y))
我的问题:为什么我不能获得原件(或非常接近的东西)?