数字图像处理实验(二)|图像变换{离散傅里叶变换fft2,离散余弦变换dct2、频谱平移fftshift}(附实验代码和截图)
文章目录
- 一、实验目的
- 二、主要仪器设备
- 三、实验原理
- (一)变换原理
- 1.离散傅里叶变换
- 2.离散余弦变换
- 3.频谱平移
- (二)频谱分析原理
- 四、实验步骤和内容
- 1. 为下面三段程序写出注释并上机运行,将实际运行结果如实记录到实验报告,并分析三段程序的不同之处,并解释第一段程序出现问题的原因。
- 2.选取一幅标准测试图像实现傅里叶变换。
- 3.频谱平移
- 4. 选取一幅标准测试图像实现离散余弦变换。
- 5.记录和整理实验报告。
- 五、思考题
- 六、实验代码
- 七、实验图像
- 八、对于傅里叶变换的相关解释
一、实验目的
1了解图像变换的原理;
2理解图像变换系数的特点;
3掌握图像变换的方法及应用;
4掌握图像的频谱分析方法;
5了解图像变换在图像数据压缩、图像滤波等方面的应用。
二、主要仪器设备
安装了MATLAB软件的台式或笔记本电脑
三、实验原理
(一)变换原理
1.离散傅里叶变换
对于二维离散信号,Fourier正变换定义为:
二维离散傅立叶逆变换为:
相关函数:fft2; ifft2
2.离散余弦变换
正变换公式为:
逆变换公式为:
相关函数:dct2; idct2
3.频谱平移
相关函数:fftshift; ifftshift
例题:
图像的二维离散傅立叶变换
I=imread(‘coins.png’); %读入原图像文件
imshow(I); %显示原图像
fftI=fft2(I); %二维离散傅立叶变换
sfftI=fftshift(fftI); %直流分量移到频谱中心
RR=real(sfftI); % real(A)为取复数A的实部
II=imag(sfftI); %imag(A)为取复数A的虚部
A=sqrt(RR.^ 2+II.^2); %计算频谱幅值
B=abs(sfftI);
I1=ifft2(fftI); %重建原图像
figure; %创建窗口
imshow(uint8(A)); %显示原图像的频谱
(二)频谱分析原理
图像变换是能量的重新分配。频率域中低频部分对应的是图像中的平滑部分(灰度变化缓慢的区域,)高频部分对应的是图像中的边缘、细节或噪声部分。
本实验主要函数:
fft2; ifft2; dct2; idct2; abs; angle; fftshift; ifftshift; imshow ; subplot; title
四、实验步骤和内容
1. 为下面三段程序写出注释并上机运行,将实际运行结果如实记录到实验报告,并分析三段程序的不同之处,并解释第一段程序出现问题的原因。
(1)f = imread ( ‘pout.tif’);
F=fft2(f);
S=abs(F);
imshow(S);
f1=ifft2(F);
figure;imshow(f1);
(2)f1 = imread (‘pout.tif’);
f=im2double(f1);
F=fft2(f);
S=abs(F);
imshow(uint8(S));
f1=ifft2(F);
figure;imshow(f1);
(3)f1 = imread (‘pout.tif’);
f=im2double(f1);
F=fft2(f);
S=uint8(abs(F));
imshow(S);
S1=fftshift(F);
figure;imshow(uint8(abs(S1)));
f11=ifft2(F);
figure;imshow(f11);
2.选取一幅标准测试图像实现傅里叶变换。
(1)读图图像;
(2)显示原图像;
(3)进行傅里叶正变换;
(4)获取其幅度谱和相位谱;
(5)利用逆变换对图像进行重建。
3.频谱平移
选取一幅灰度图像,对其进行傅里叶变换、频谱平移、频谱逆平移、傅里叶逆变换,并在同一窗口中同时显示原图像、傅里叶变换频谱、频谱平移图像、逆平移频谱图像及傅里叶逆变换图像并按上述名称命名。将程序及效果图记录入实验报告。
4. 选取一幅标准测试图像实现离散余弦变换。
(1)读图图像;
(2)显示原图像;
(3)进行离散余弦正变换;
(4)利用逆变换对图像进行重建;
(5)对(3)中的系数进行取舍。
(6)用(5)中得到的系数矩阵对图像进行重建(逆变换),得到新图像;
(7)在同一窗口显示原图像、频谱图、直接重建图像、改变系数后的重建图像;
(8)分析两个重建的图像的图像质量变化以及产生的原因。
离散余弦变换后,将低频分量其中到了左上角,所以程序中是保留了左上角33*33的小矩阵的信息量,而其他信息都舍弃了,因此重建后的图像变得模糊了。
5.记录和整理实验报告。
五、思考题
1.傅里叶变换有哪些重要的性质?
可以将低频和高频信号区分开来,将图像的灰度分布函数变换为图像的频率分布函数。
2.离散余弦变换与傅里叶变化相比有哪些优势?
离散余弦变换首先低频信号都是集中在左上角,并且相对于傅里叶变换是不用进行频谱搬移的
3.观察图像变换后的频谱矩阵系数,总结变换后系数分布特点。
都是双精度,并且落在(-1,1)的区间
六、实验代码
七、实验图像
八、对于傅里叶变换的相关解释
可以看我之前写的文章,有对于傅里叶和离散余弦的变换的说明
数字图像处理——图像变换(二维离散傅里叶正逆变换fft2/fft2、离散余弦正逆变换dct2/idct2、频谱正逆平移fftshift/ifftshift、幅度谱与相位谱)
上一篇: 利用傅立叶变换进行图像处理的代码演示
下一篇: 实现傅里叶变换的Matlab代码