我已经对像这样的图像应用了傅里叶变换:
I = imread('img.jpg');
img = fftshift(I);
F = fft2(img);
magnitude = mat2gray(100*log(1+abs(fftshift(F)))); % Magnitude spectrum
phase = mat2gray( (angle(F)) ); % Phase spectrum
利用离散傅立叶变换的能量压缩特性,如何提取傅里叶变换的低频值系数的21x21矩阵?
提前致谢!
答案 0 :(得分:3)
您可以尝试这样的事情:
I = imread('peppers.jpg');
img = fftshift(I);
F = fftshift(fft2(img));
% magnitude = mat2gray(100*log(1+abs(F))); % Magnitude spectrum
% phase = mat2gray( (angle(F)) ); % Phase spectrum
[M N K] = size(F);
L = 10;
fsub(M,N,K)=0;
fsub(M/2-L:M/2+L,N/2-L:N/2+L,1:K) = F(M/2-L:M/2+L,N/2-L:N/2+L,1:K);
I2 = uint8(real(ifftshift(ifft2(ifftshift(fsub))));
figure
subplot(121)
imshow(I)
subplot(122)
imshow(I2)
左侧面板是原始面板,右侧面板仅选择核心频率成分后面板。