我有一个灰度图像。我将图像分成 64x64 像素的非重叠块。我有两个问题。如何将离散傅立叶变换 (DFT) 应用于每个块图像并将低频分量的幅度设置为 0(频域中距离中心 3 像素以内的点)?我怎样才能做到这一点? 我的第二个问题是我要找到频率中振幅最大的六个点 领域。这些点中的每一个都对应于一个 2D 正弦波 w(x, y) = asin(2pif(xcos(theta) + y*sin(theta) + phi),其中 a, f, theta,和phi分别代表振幅、频率、方向和相位,如何得到块图像的a、f、theta、phi和w(x, y)? 我只想使用 Matlab。 非常感谢您。
我用下面的代码来使用频域。 f = fft2(im);
im is a block image
fshifted = fftshift(f);
fabs = abs(fshifted);