请教matlab中对图像做Fourier变换
在matlab区发过,但是还没有解答,借该版人气再问在matlab中对图像进行傅里叶变换,
%img为原始图像
(一)看到别人是这么做的
img1=double(img)/255;
img_mean=mean2(img1);
centered_img=img1-img_mean;
img1_fft=fft2(centered_img);
img1_fft=fftshift(img1_fft);
不明白问什么对图像作归一化,用减去图像中值后才作傅里叶变换???
(二)
自己想应该这么做
img2=double(img);
img2_fft=fft2(img2);
img2_fft=fftshift(img2_fft);
但是(一)和(二)作出的结果不一样,附图是对lena做变换后的
imshow(abs(img1_fft),[]);
imshow(abs(img2_fft),[]);
(一)的结果对吗,(二)呢,为什么?
回复 #1 xfdxz 的帖子
可能是为了平滑傅里叶谱吧...没仔细想过这个问题:@)
页:
[1]