实验二 图像变换(DFT、DCT 变换) 一、实验目的 1、熟练掌握 DFT、DCT 变换的 MATLAB 实现; 2、利用 MATLAB 完成(DFT、DCT)变换,求出图像的频谱; 二、实验原理及内容 二维傅立叶变换的 matlab 实现: fft: 一维 DFT 变换 ifft: 一维 DFT 反变换 fft2: 二维 DFT 变换 ifft2: 二维 DFT 反变换 fftn: N 维 DFT 变换 fftn: N 维 DFT 反变换 fftshift: 将经过 fft、fft2 和 ffn 变换后的频谱中心(0 频)移到矩阵或向量的 2、离散余弦变换(DCT) 离散余弦变换的 matlab 实现: dct2:二维 DCT 变换 idct2:二维 DCT 反变换 内容 1、编程求给定图像lena
bmp 的傅立叶频谱; 2、将给定图像lena
bmp 旋转 45 度,求其傅立叶频谱; 3、编程求给定图像lena
bmp 的 DCT 频谱; 4、利用 DCT 反变换求原始图像; 5、利用 DCT 实现对图像lena
bmp 的压缩,压缩率为 80%
三、实验程序、结果及框图 1、DFT 变换及 DCT 变换 实验框图 实验程序 (1) clear all; %清空所有变量 I=imread('lena
jpg'); %读入图像 J=fftshift(fft2(I)); %对原图进行DFT 变换,并将其中心移到零点 J2=imrotate(I,45); %将图像旋转 45 度 J3=fftshift(fft2(J2)); %对旋转后图像求 DFT 频谱 subplot(2,2,1);imshow(I); xlabel('原图') %显示原图 subplot(2,2,2);imshow(log(abs(J)),[8 10]); x