I=rgb2gray(I)
fftI=fft2(I)%二宴橘维厅祥掘离散傅立叶变换
sfftI=fftshift(fftI)%直流分量移到频谱中心
RR=real(sfftI)%取傅立叶变换的实部
II=imag(sfftI)%取傅立叶变换的虚部
A=sqrt(RR.^2+II.^2)%计算频谱幅值
B=(A-min(min(A)))./(max(max(A))-min(min(A)))*225%归一化
pha=angle(fftI)
figure(1)%设定窗口扮核
subplot(1,4,1),imshow(I)title('原图')
subplot(1,4,2),imshow(B)title('原图像的频谱')%显示原图像的频谱
subplot(1,4,3),imshow(log(B),[])title('原图像的频谱')%显示原图像的频谱
subplot(1,4,4),imshow(pha)title('相位谱')
figure(2)
x=abs(ifft2(fftI))
magif=ifft2(abs(fftI))
phaif=ifft2(exp(1i*pha))
subplot(1,3,1),imshow(phaif,[])title('相位谱重建图像')
subplot(1,3,2),imshow(x,[])title('频谱重建原图像')
subplot(1,3,3),imshow(magif,[])title('幅度谱重建图像')
Matlab中FFT有1D和2D的,FFT得到的是信号伏镇的缺弊粗频谱即t-》f如
clear
%编写骆遥
fs=1000
t=0:1/fs:0.6
f1=100
f2=300
x=sin(2*pi*f1*t)+sin(2*pi*f2*t)
subplot(711)
plot(x)
title('f1(100Hz)\f2(300Hz)的正弦信号,初相0')
xlabel('序列(n)')
grid
on
number=512
y=fft(x,number)
n=0:length(y)-1
f=fs*n/length(y)
subplot(713)
plot(f,abs(y))
title('f1\f2的正弦信号的FFT(512点)')
xlabel('频率Hz')
grid
on
x=x+randn(1,length(x))
subplot(715)
plot(x)
title('原f1\f2的正弦信号(含随卜链机噪声)')
xlabel('序列(n)')
grid
on
y=fft(x,number)
n=0:length(y)-1
f=fs*n/length(y)
subplot(717)
plot(f,abs(y))
title('原f1\f2的正弦信号(含随机噪声)的FFT(512点)')
xlabel('频率Hz')
grid
on
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)