如何在matlab中计算图像的中值,最小值

时间:2013-05-17 15:03:16

标签: matlab image-processing fft ifft

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

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

我的主要照片是

enter image description here

并在运行我的脚本

之后

enter image description here

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%的幅度彼此相似?

我的主要问题和问题是我如何计算中位数?

apreciate任何帮助

0 个答案:

没有答案