1、imshow(f)和imshow(f,[ ])显示效果不同
imshow(f)直接显示f图像;imshow(f,[])显示的是灰度级数归一化后的图像,其中,f的最大值和最小值作为白(255)与黑(0)。
2、傅里叶变换的过程中是否要进行填充,根据冈萨雷兹的《数字图像处理》,在频率域滤波需要先对原始图像f(x,y)填0,然后再进行傅里叶变换。
经过实验验证发现,填充的图像比较合理
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) 以 将频率域移到变换中心