0

我有一个图像,在我的作业中,我必须计算它的傅立叶变换并用 3 个不同的值恢复它

  • 具有最小值的幅度值
  • 幅度值的中位数为 25%
  • 幅度值的百分比

我的主要图片是

在此处输入图像描述

在运行我的脚本之后

在此处输入图像描述

I=imread('image number one.bmp');
gI=rgb2gray(I);
imafft = fft2(single(gI));
% Gets magnitude and phase.
 mag = abs(imafft);
 phi = angle(imafft);
 % Generates the modified spectrum
 magvector=mag(:);
 myones=ones(size(mag));
 percent25 = prctile(magvector,25);
 minfft = min(magvector).*exp(i*phi);
 medianfft = myones .* median(magvector).*exp(i*phi);
 percentfft = myones.*percent25.*exp(i*phi);
 figure;
 subplot(131);
 imagesc(abs(ifft2(minfft)));
 title('with min of magnitude');
 subplot(132);
 imagesc(abs(ifft2(medianfft)));
 title('with median of magnitude');
 subplot(133);
 imagesc(abs(ifft2(percentfft)));
  colormap(gray);
 title('with 25 percentage of magnitude');

我的结果是否正确,并且具有最小值和中值以及 25% 幅度的恢复图像彼此相似?

我的主要问题和问题实际上是我如何计算幅度中位数?

感谢任何帮助

4

0 回答 0