我有一个图像,在我的作业中,我必须计算它的傅立叶变换并用 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% 幅度的恢复图像彼此相似?
我的主要问题和问题实际上是我如何计算幅度中位数?
感谢任何帮助