研究生数字图像处理实验报告.docx
- 文档编号:25935057
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:18
- 大小:267.01KB
研究生数字图像处理实验报告.docx
《研究生数字图像处理实验报告.docx》由会员分享,可在线阅读,更多相关《研究生数字图像处理实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
研究生数字图像处理实验报告
数字图像处理实验报告
姓名:
XXX
学号:
1103210023
指导老师:
完成时间:
2012年6月
一、灰度图像的快速傅立叶变换
1、实验任务
对一幅灰度图像实现快速傅立叶变换(DFT),得到并显示出其频谱图,观察图像傅立叶变换的一些重要性质。
2、实验条件
微机一台、vc++6.0集成开发环境。
3、实验原理
傅立叶变换是一种常见的图像正交变换,通过变换可以减少图像数据的相关性,获取图像的整体特点,有利于用较少的数据量表示原始图像。
二维离散傅立叶变换的定义如下:
傅立叶反变换为:
式中变量u、v称为傅立叶变换的空间频率。
图像大小为M×N。
随着计算机技术和数字电路的迅速发展,离散傅立叶变换已经成为数字信号处理和图像处理的一种重要手段。
但是,离散傅立叶变换需要的计算量太大,运算时间长。
库里和图基提出的快速傅立叶变换大大减少了计算量和存储空间,因此本实验利用快速傅立叶变换来得到一幅灰度图像的频谱图。
快速傅立叶变换的基本思路是把序列分解成若干短序列,并与系数矩阵元素巧妙结合起来计算离散傅立叶变换。
若按照奇偶序列将X(n)进行划分,设:
(n=0,1,2,…,
)
则一维傅立叶变换可以改写成下面的形式:
=G(m)+
H(m)
因此,一个求N点的FFT可以转换成两个求
点的FFT。
根据以上公式推导直到2点的FFT为止,这时可以由原始数据X(n)直接求出。
根据傅立叶变换的可分离性,图像的二维FFT可以由先对图像的行进行一次一维FFT,再对结果按列进行一次一维FFT得到。
4、实验步骤
(1)实现灰度图像读取、保存模块;
(2)编程实现图像的快速傅立叶变换;
(3)将得到的频谱图显示出来。
5、实验结果
实验采用大小为800×1000的灰度图像flower.bmp。
原始图像和快速傅立叶变换后的频谱图如下图所示。
观察可以得到,图像的能量集中在低频部分。
另外,要显示傅里叶变换的结果,必须将图像的频谱原点移动到图像中心。
6、实验心得
通过这次实验,让我对傅立叶变换有了较深的了解。
傅立叶变换提供了一条从空域到频域自由转换的途径,用另外一个角度来观察图像。
它可以将图像从灰度分布转换到频率分布上来观察图像的特征。
并且在图像增强和图像去噪、图像分割之边缘检测、图像压缩等方面都有重要的作用。
知道了其原理和能量的分配规律,同时掌握好傅立叶变换也对进一步学习其它变换具有一定的基础性作用
附:
主程序如下:
GrayImage=imread('F:
\MATLAB\flower.bmp');%读取图像
imwrite(GrayImage,'aGray.bmp');%写入图像
F=fft2(GrayImage);%对图像进行傅里叶变换
Fc=fftshift(abs(F));%将变换的原点移动到频率矩阵中心
subplot(1,2,1);imshow(GrayImage);title('原始图像');
subplot(1,2,2);imshow(log(Fc),[]);title('傅里叶变换结果');%显示图像
二、灰度图像的直方图均匀化
1、实验任务
⑴进一步掌握灰度图象直方图的概念,性质;
⑵对一幅灰度图象实现直方图均衡化,对比修正前后的图像效果
⑶通过Matlab或VC++开发环境,编程实现灰度图像的直方图均匀化处理。
2、实验条件
微机一台、vc++6.0集成开发环境。
3、实验原理
直方图均衡也称灰度均衡,目的是通过点运算使输入图像转换为在每一灰度级上都有相同的像素点数的输出图像(即输出的直方图是平的)。
按照图像的概率密度函数的定义:
其中
为直方图,
为图像的面积。
设转换前图像的概率密度函数为
,转换后图像的概率密度函数为
,转换函数为
。
由概率论知识,我们可以得到:
这样,如果想使转换后的图像的概率密度函数为1(即直方图为平的),则必须满足:
等式两边对r积分,可得:
该转换公式被称为图像的累积分布函数。
直方图均衡的转换公式为:
对于离散图像,转换公式则为:
4、实验步骤
⑴实现灰度图像读取、保存模块;
⑵编程实现图像的直方图均衡。
5、实验结果
实验采用大小为800×1000的flower.bmp灰度图像。
原始图像和直方图均匀化处理后的图像如上图所示。
6、实验心得
在本次试验中,我理解了灰度直方图均衡化的意义和原理,在实验中通过对比原始图像和直方图均衡处理后的图像的直方图可以得出,在偏暗图像中,直方图的组成成分集中在灰度级低(暗)的一侧,而在明亮图像的直方图则倾向于灰度级高的一侧。
就对比度而言,低对比度的直方图窄而集中于灰度级的中部;而在高对比的图像中,直方图的成分覆盖了灰度级很宽的范围,而且像素的分布通常不会有太多的不均匀,而只有少量的垂线比其他的高很多。
经过直方图均衡化修正后,可以使图像细节更加明显,从而有利于图像的分析和识别。
通过本次试验,可以对一些灰度分布过于集中或偏向的图像进行有效处理,改善图像效果。
附:
主程序如下:
GrayImage=imread('F:
\MATLAB\flower.bmp');%读取图像
g=histeq(GrayImage);%对原始图像进行直方图均衡化
subplot(2,2,1);imshow(GrayImage);title('原始图像');
subplot(2,2,2);imhist(GrayImage,64);title(原始图像直方图');
axis([025508000]);
subplot(2,2,3);imshow(g);title(直方图均衡化后的图像');
subplot(2,2,4);imhist(g,64);title('均衡变换后的直方图');
三、图像平滑处理
1、实验任务
⑴理解图像噪声,模板等概念;
⑵掌握邻域平滑法原理及实现方法;
⑶掌握中值滤波法原理及实现方法;
⑷通过Matlab或VC++环境编程实现对一幅有噪声的灰度图象的邻域平滑处理和中值滤波处理去除噪声。
2、实验条件
微机一台、vc++6.0集成开发环境。
3、实验原理:
⑴邻域平均法
图像平滑处理就是用平滑模板对图像进行处理,以减少图像的噪声。
平滑模板的思想是通过一点和周围邻域内像素点的平均来去除突然变化的点,从而滤掉一定的噪声,其代价是图像有一定程度的模糊,减少图像的模糊是图像平滑处理研究的主要问题之一。
当模板中所有系数都取同样的值时,称其为Box模板,常用的3×3和5×5模板如下:
3×3平滑模板
5×5平滑模板
利用Box模板对图像进行平滑处理又称为邻域平均法平滑处理。
Box模板对当前像素及其相邻的的像素点都一视同仁,统一进行平均处理,这样就可以滤去图像中的噪声。
⑵中值滤波法
中值滤波是一种非线性的信号处理方法,与其对应的中值滤波器是一种非线性的滤波器。
中值滤波在一定的条件下可以克服线性滤波如最小均方滤波、均值滤波等带来的图像细节模糊问题,而且对滤除脉冲干扰及图像扫描噪声最为有效。
由于在实际运算过程中不需要图像的统计特征,因此也带来不少方便。
中值滤波一般采用一个含有奇数个点的滑动窗口,将窗口中各点灰度值的中值来替代指定点(一般是窗口的中心点)的灰度值。
对于奇数个元素,中值是指按大小排序后,中间的数值;对于偶数个元素,中值是指排序后中间两个元素灰度值的平均值。
对二维中值滤波来说,窗口的形状和尺寸对滤波器的效果影响很大。
不同图像内容和不同应用往往选用不同的窗口形状和尺寸。
常用的二维中值滤波窗口形状有线状、方形、圆形、十字形等。
4、实验步骤
⑴实现灰度图像读取、保存模块;
⑵读入灰度图像并加入椒盐噪声;
⑶对图像进行中值滤波处理,并显示处理后的图像。
5、实验结果
实验采用大小为800×1000的灰度图像flower.bmp。
原始图像、加噪后的图像和中值滤波后的图像
如下图所示。
6、试验心得
通过这次实验,让我对傅立叶变换有了较深的了解。
傅立叶变换提供了一条从空域到频域自由转换的途径,用另外一个角度来观察图像。
它可以将图像从灰度分布转换到频率分布上来观察图像的特征。
并且在图像增强和图像去噪、图像分割之边缘检测、图像压缩等方面都有重要的作用。
知道了其原理和能量的分配规律,同时掌握好傅立叶变换也对进一步学习其它变换具有一定的基础性作用
附:
主程序如下:
GrayImage=imread('F:
\MATLAB\flower.bmp');%读取图像
g=imnoise(GrayImage,'salt&pepper',0.02);%加椒盐噪声
gm=medfilt2(g);%中值滤波
subplot(1,3,1);imshow(GrayImage);title('原始图像');
subplot(1,3,2);imshow(g);title('加椒盐噪声后的图像');
subplot(1,3,3);imshow(gm);title('进行中值滤波后图像');
四、图像边缘检测
1、实验任务
⑴了解图像边缘提取的基本概念;
⑵了解进行边缘提取的基本方法;
⑶掌握用不同算子对图像进行边缘检测的方法.
⑷在Matlab或VC++环境下,编写程序分别用Roberts,Sobel和拉普拉斯高斯算子对图像进行边缘检测,比较三种算子处理的不同之处。
2、实验条件
微机一台、vc++6.0集成开发环境。
3、实验原理
图像的边缘是图像的最基本特征,它指的是周围像素灰度有阶跃变化或屋顶变化的那些像素的集合。
物体的边缘是由灰度的不连续性反映的。
阶跃性边缘是指它两边的像素的灰度值有着显著的不同,屋顶状边缘位于灰度值从增加到减少的变化转折点。
经典的边缘提取方法是考察图像的每个像素在某个领域内灰度的变换,利用边缘邻近一阶或二阶方向导数变换规律,用简单的方法检测边缘,这种方法称为边缘检测局部算子法。
常用的梯度算子如下表所示:
算子名称
H1
H2
特 点
Roberts
边缘定位准,对噪声敏感。
Prewitt
平均、微分对噪声有抑制作用。
Sobel
加权平均边宽≥2象素。
IsotropicSobel
权值反比于邻点与中心点的距离,检测沿不同方向边缘时梯度幅度一致。
拉普拉斯高斯(loG)算法是一种二阶边缘检测方法。
它通过寻找图像灰度值中二阶微分中的过零点(ZeroCrossing)来检测边缘点。
其原理为,灰度级变形成的边缘经过微风算子形成一个单峰函数,峰值位置对应边缘点;对单峰函数进行微分,则峰值处的微分值为0,峰值两侧符号相反,而原先的极值点对英语二阶微分中的过零点,通过检测过零点即可将图像的边缘提取出来。
Laplacian算子为:
近似计算为:
常用的LOG算子是5*5的模板,如下所示:
4、实验步骤
⑴实现灰度图像读取、保存模块;
⑵读入灰度图像并用Roberts算子检测边缘。
5、实验结果
实验采用大小为340×240的灰度图像flower.bmp。
原始图像和边缘检测图像如下图所示。
六、实验心得
在本次试验中,我首先了解了图像边缘提取的基本概念,掌握了进行边缘提取的基本原理和基本方法,在工具的使用过程中熟悉了用不同算子对图像进行边缘检测的方法。
认识到了图像中的边缘部分是以图像局部特征不连续的形式出现,即图像局部变化最显著的部分,这种图像边缘变化有方向和幅度两个特征,通常沿边缘走向的像素灰度变化平缓,垂直于边缘走向的像素灰度变化剧烈,所以传统的边缘检测算法就是利用了边缘是图像上灰度变化最剧烈的地方这一原理来进行设计与实现的。
在对图像进行三中不同的处理过程中我还认识了sobel算子,prewitt,robert算子之间的区别与联系,丰富了我对于数字图像处理这门课程的认识和了解,增强了我的实际动手操作能力。
附:
主程序如下:
GrayImage=imread('F:
\MATLAB\flower.bmp');%读取图像
[gRoberts,tRoberts]=edge(GrayImage,'roberts');%使用Roberts算子边缘检测
[gSobel,tSobel]=edge(GrayImage,'sobel');%使用sobel算子边缘检测
[gPrewitt,tPrewitt]=edge(GrayImage,'prewitt');%使用prewitt算子边缘检测subplot(2,2,1);imshow(GrayImage);title('原始文件');%显示原始文件
t1=['Roberts边缘检测,阀值为',num2str(tRoberts)];
subplot(2,2,2);imshow(gRoberts);title(t1);%显示roberts算子边缘检测图像
t2=['Sobel边缘检测,阀值为',num2str(tSobel)];
subplot(2,2,3);imshow(gSobel);title(t2);显示Sobel算子边缘检测图像t3=['Prewitt边缘检测,阀值为:
',num2str(tPrewitt)];
subplot(2,2,4);imshow(gPrewitt);title(t3);显示Prewitt算子边缘检测图像
五、图像的转置
1、实验任务
对一幅灰度图像实现转置,得到并显示出其转置后的图像。
2、实验条件
微机一台、vc++6.0集成开发环境。
3、实验原理
图像的转置操作是将图像的x坐标和y坐标互换。
该操作将改变图像的大小:
图像的高度和宽度将互换。
转置的变换矩阵的表达式如下:
它的逆变换矩阵表达式是:
即
4、实验步骤
⑴实现灰度图像读取、保存模块;
⑵编程实现图像的转置;
⑶将得到的转置图显示出来。
5、实验结果
实验采用大小为800×1000的灰度图像flower.bmp。
原始图像和转置后的图像如图1和图2所示。
六、实验心得
通过本次试验,我首先理解了灰度图像的存储原理,能够将一个灰度图像以一个二维矩阵的形式表示出来,并且通过对此二维矩阵求出转置,可以得出原始图像的转置。
因为图像的转置是图像矩阵的几何变换,本实验中将图像转置,转化为数学方法就是将图像矩阵的X坐标和Y坐标转换,相对是一种较为简单的变换方式,同时我们了解到对于非正方形的图像该操作也会同时将图像的宽度和高度转换。
附:
主程序如下:
GrayImage=imread('F:
\MATLAB\flower.bmp');%读取图像
R=GrayImage.';%图像转置
%R=rot90(GrayImage);%另一种转置方法
subplot(1,2,1);imshow(GrayImage);title('原始图像');
subplot(1,2,2);imshow(R);title('装置后图像');%显示图像
六、灰度图像的伪彩色编码
一、实验任务
将一幅灰度图像转换为一幅彩色图像并显示出来。
二、实验条件
微机一台、matlab7集成开发环境。
三、实验原理
因为人眼对灰度微弱递变的敏感程度远远小于对色彩变化的敏感程度,所以将一幅灰度图像按照特定的彩色编码表进行彩色变换,这样就可以看到图像更加精细的结构。
要将灰度图像进行伪彩色变换,可以采用一个256色的调色板,其中定义了每种灰度对应颜色的RGB值。
四、实验步骤
⑴实现灰度图像读取、保存模块;
⑵按照伪彩色编码表更改当前DIB的调色板;
⑶刷新当前视图显示彩色图像。
五、实验结果
实验采用大小为800×1000的灰度图像flower.bmp。
原始图像和伪彩色变换后的图如下所示。
六、实验心得
伪彩色增强是把灰度图像的各个不同灰度级按照线性或非线性的映射函数变换成不同的彩色,从而得到一幅彩色图像的图像处理技术,是为改善视觉效果,利用计算机图像增强技术对遥感图像的灰度赋予的不同假色彩。
因此,伪彩色处理的主要目的是为了提高人眼对图像细节的分辨能力,以达到图像增强的目的,使原始图像细节更易辨认,目标更易识别。
附:
主程序如下:
GrayImage=imread('F:
\MATLAB\flower.bmp');%读取图像
X=grayslice(GrayImage,16);%对图像进行位彩色编码
figure
(1);imshow(GrayImage);title('原始图像');
figure
(2);imshow(X,hot(16));title('位彩色处理后图像');%显示图像
(注:
可编辑下载,若有不当之处,请指正,谢谢!
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 研究生 数字图像 处理 实验 报告