电子信息学院
实验报告书
课 程 名: 《数字图像处理》课程实验
题 目:实验四 空间域和频率域图像处理
实验类别: 【验证实验】
班 级: 电子1313
学 号: 6
姓 名: 吴限
1、实验内容或题目
题目
空间域和频率域图像处理
内容
图像灰度变换与空间域滤波属于空域图像处理
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
,直接对图像像素进行处理。图像灰度变换采用MATLAB工具箱中的灰度变换函数、直方图处理函数等函数及其相应的语法格式对实验一生成的图像进行处理。空间域滤波采用MATLAB工具箱中提供的空间域滤波器对图像进行空间域滤波处理。
傅立叶变换(Fourier Transform)是线性系统分析的一个有力工具,它能够定量分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪声等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,学习好傅立叶变换很有必要。
对于二维信号,二维傅立叶变换定义为:
其逆变换:
二维离散傅立叶变换为:
其逆变换:
2、实验目的与要求
目的
1、 了解图像空间域滤波的意义和手段;
2、 熟悉图像空间域滤波的MATLAB函数;
3、 熟练掌握应用MATLAB软件编程进行空间域滤波的方法。
4、 了解频域图像处理的意义和手段;
5、 熟悉离散傅里叶变换的基本性质;
6、 熟练掌握图像傅里叶变换的方法及应用;
7、 了解二维频谱的分布特点;
8、 掌握利用MATLAB工具箱实现频域图像处理
要求
1、 将直方图增强和空间域滤波结果打印出来提交;
2、 提交程序源代码M文件;
3、 比较直方图增强前后图像的视觉效果有何不同。
3、实验仪器
1、 计算机一台;
2、 MATLAB软件一套;
3、 移动存储器(U盘等);
4、 实验图像若干。
4、实验图像
5、实验步骤
1、 打开计算机并启动MATLAB程序,在“work”文件夹下找到待处理的图像文件;
2、 统计原图像的灰度直方图,并利用直方图均衡方法进行增强;
分别对原图像添加高斯和运动平滑滤波;
3、 记录和整理实验报告。
4、 打开计算机并启动MATLAB程序;
5、 读入test.bmp图像,并计算其傅立叶变换的模值;
6、 分别构造gaussian滤波器(
,
)和motion滤波器(
,
);
7、 利用上一步骤构造的两个滤波器分别对test.bmp的频域模值进行滤波处理;
8、 将原图像和频域滤波的结果显示出来;
9、 重新构造一幅黑白二值图像,在
的黑色背景中心生成一个
的白色方块;
10、 了解傅立叶变换为可分离核变换的性质,并利用1D FFT子程序实现2D傅立叶变换;
11、 把低频分量移到图像中心,而把高频分量移到四个角上(利用
函数);
12、 利用图像增强中动态范围压缩的方法增强2D FFT(
);
13、 研究傅立叶变换幅度的平移不变性;
14、 研究傅立叶变换幅度的旋转性质;
15、 研究傅立叶变换的尺度变换性质;
16、 记录和整理实验报告。
6、程序代码
clear
clc
a=imread('girl2.jpg');%读取图像
b=rgb2gray(a);%转换成灰度图像
c=histeq(b,256);
figure
subplot(221),imshow(a);title('原图');
subplot(222),imshow(c);title('均衡化图');
subplot(223),imhist(b);title('原图灰度直方图');
subplot(224),imhist(c);title('均衡化直方图');
d=fspecial('gaussian',3,1);%构造gaussian滤波器(hsize=3,sigma=1)
e=fspecial('motion',9,45);%构造motion滤波器(len=9,theta=45)
f=imfilter(a,d);%gaussian滤波处理
g=imfilter(a,e);%motion滤波处理
figure
subplot(221),imshow(a);title('原图');
subplot(222),imshow(f);title('高斯滤波');
subplot(223),imshow(g);title('运动平衡滤波');
%频率域图像处理
A=zeros(128);
A(62:64,62:66)=1;%构造一幅黑白二值图像
figure
F1=fft2(A,128,128);%2D傅里叶变换
F2=fftshift(F1);%将原点移至中心
F3=log(1+abs(F2));
A1=zeros(128);
A1(22:26,22:26)=1;
F4=fft2(A1,128,128);
A2=imrotate(A,-45);%旋转45度
F5=fft2(A2,128,128);%旋转45度后的傅里叶变换
A3=zeros(128);
A3(60:68,60:68)=1;
F6=fft2(A3,128,128);
subplot(341),imshow(A);title('原图');
subplot(342),imshow(F1);title('2D傅里叶变换图');
subplot(343),imshow(F2);title('fftshift');
subplot(344),imshow(F3);title('增强图');
subplot(345),imshow(A1);title('平移图');
subplot(346),imshow(F4);title('平移后的傅里叶变换图');
subplot(347),imshow(A2);title('旋转45度图');
subplot(348),imshow(F5);title('旋转45度后的傅里叶变换图');
subplot(349),imshow(A3);title('尺度变换图');
subplot(3,4,10),imshow(F6);title('尺度变换后的傅里叶变换图');
7、结果分析
通过实验,掌握了用MATLAB软件编程进行空间域滤波的方法。观察到了频域滤波的效果。在实验过程中,对图像的傅立叶变换和平移等了解了二维频谱的图像特点,也加深了自己对图像处理技术的认识。学会了利用MATLAB工具箱来对图像进行处理。