图像傅里叶变换
I = imread('F:/lena.jpg'); I=rgb2gray(I); F = fftshift(fft2(I)); % 对图像进行二维 DFT(fft2),并移至中心位置 magn = log(abs(F)); % 加 log 是便于显示,缩小值域 phase = log(angle(F)*180/pi); % 转换为度数 subplot(2, 2, 1), imshow(I, []), title('原图像') subplot(2, 2, 2), imshow(log(F), []), title('图像频谱') subplot(2, 2, 3), imshow(magn, []), title('图像幅度谱') subplot(2, 2, 4), imshow(phase, []), title('图像相位谱')
2.下面利用图一的幅度谱结合图二的相位谱,再利用reverse dft。
I = imread('F:/box.png'); I=rgb2gray(I); G=imread("F:/lena.jpg"); G=rgb2gray(G); G=imresize(G,size(I)); F1=fft2(I); GF1=fft2(G); II=ifft2(abs(F1).*exp(1j*angle(GF1))); GG=ifft2(abs(GF1).*exp(1j*angle(F1))); subplot(1, 2, 1), imshow(II), title('图像1幅度加图二相位') subplot(1, 2, 2), imshow(GG), title('图像1相位加图二幅度')
可见相位控制着纹理结构。