如何在matlab中计算图像的中值、最小幅值
我有一个图像,在我的作业中,我必须计算它的傅里叶变换,并用3个不同的值恢复它如何在matlab中计算图像的中值、最小幅值,matlab,image-processing,fft,ifft,Matlab,Image Processing,Fft,Ifft,我有一个图像,在我的作业中,我必须计算它的傅里叶变换,并用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 mod
- 具有最小的幅值
- 震级中值为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%的幅度彼此相似吗
我的主要问题是如何计算震级中值?
A非常感谢您的帮助我想您可以尝试从这个线程中获得一些好处:@fpe我确实需要实现它,您知道我如何才能完成这项工作吗?