图像处理的傅里叶变换遇到的问题

1、imshow(f)和imshow(f,[ ])显示效果不同

imshow(f)直接显示f图像;imshow(f,[])显示的是灰度级数归一化后的图像,其中,f的最大值和最小值作为白(255)与黑(0)。

2、傅里叶变换的过程中是否要进行填充,根据冈萨雷兹的《数字图像处理》,在频率域滤波需要先对原始图像f(x,y)填0,然后再进行傅里叶变换。

 

图像处理的傅里叶变换遇到的问题_第1张图片

图像处理的傅里叶变换遇到的问题_第2张图片

 

经过实验验证发现,填充的图像比较合理

3、如何显示三维呢

figure

mesh(abs(H(1:10:512,1:10:512)))

 

4、傅里叶变换几步和为一步

% 获取填充的fft

F = fft2(f, size(H, 1), size(H, 2));

 

% 执行过滤

g = real(ifft2(H.*F));

 

% 裁剪为原始大小

g = g(1:size(f, 1), 1:size(f, 2));

 

5、注意最后的数据如果是 double  uint8要化为合适的范围

6、freqz2函数是把空间域滤波器变成相应频率域滤波器,用来比较 空间域 频率域 差别的。

产生的滤波器原点在矩阵中心处,

H = freqz2(h,PQ(1),PQ(2)); % 产生的滤波器原点在矩阵中心处

H1 = ifftshift(H); % 迁移原点到左上角

7、%% 注意

freqz2 生成的滤波器原点在正中央

lpfilter(低通)生成的滤波器原点在左上角

hpfilter(高通)生成的滤波器原点在左上角

 

8、在空间域乘以(-1)^(x+y) 以 将频率域移到变换中心

你可能感兴趣的:(数字图像处理)