我想使用MATLAB来计算图像的一维PSD(分别沿着行和列)。Matlab - 使用fft的图像的对称PSD
我使用下面的代码片段。
F=fft(img,[],2);%FFT along dim2
F=fftshift(F,2);
mtf=(abs(F)).^2;
mtf_mean = mean(mtf,2);% Mean of all contents of a row
mtf_mean_norm = mtf_mean/max(max(mtf_mean)); %Normalization to 1
plot(mtf_mean_norm);
当我绘制它时,我期待一个关于中心的对称图(这就是我想要的)。但是,我碰巧看到两个部分看起来像附图所示的一样。
看起来像我有一个代码错误,任何线索我错过了什么?
图片网址:http://i.stack.imgur.com/RrLIt.jpg