摘 要
本实验是利用MATLAB软件,研究数学图像处理中形态学中的闭运算问题。MATLAB提供了很多图像处理函数,涵盖了图像处理包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。图像的二值化处理就是将图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。使用同一个结构元素对图像先膨胀再进行腐蚀的运算称为闭运算。闭运算通常用来填充目标内细小空洞,连接断开的邻近目标,平滑其边界的同时不明显改变其面积。
关键词: MATLAB;形态学;二值化;闭运算
I
目 录
第1章 相关知识 ...................................................................................................... 1
1.1 数字图像 ..................................................................................................... 1 1.2 数字图像处理 ............................................................................................. 1 1.3 图像的闭运算 ............................................................................................. 1 第2章 课程设计分析 .............................................................................................. 2
2.1 MATLAB在图像处理中的应用 .................................................................... 2 2.2图像处理概念 .............................................................................................. 2 2.3图像二值化的基本原理 .............................................................................. 2 2.4膨胀 .............................................................................................................. 3 2.5腐蚀 .............................................................................................................. 3 第3章 仿真 .............................................................................................................. 4
3.1 10*10的结构元素闭运算源代码 .............................................................. 4 3.2 20*20的结构元素闭运算源代码 .............................................................. 4 3.3 从相反方面分析观察闭运算源代码 ......................................................... 4 第4章 结果分析 ...................................................................................................... 5
4.1 用10*10的结构元素进行运算分析 ......................................................... 5 4.2 用20*20的结构元素进行运算分析 ......................................................... 6 4.3 从相反方向观察闭运算处理分析 ............................................................. 8 结论 ............................................................................................................................ 9 参考文献 .................................................................................................................. 10
II
沈阳理工大学数字图像处理课程设计
第1章 相关知识
1.1 数字图像
模拟图像是指空间坐标和明暗程度都连续变化的图像,是不能直接用计算机进行处理的图像。为了能用计算机对图像进行加工,需要把模拟图像进行离散。这种离散化的图像就是数字图像,通常用一个矩阵或一个二维数组来表示它。形象的说,一幅数字图像就是纵横交错的棋盘,棋盘航和列的数目就表示图像的大小。
1.2数字图像处理
所谓数字图像处理,就是利用计算机对数字图像进行系列操作,从而获得某种预期效果的技术。数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展,数字图像处理离不开计算机,因此又称计算机图像处理;二是数字的发展;三是广泛的农牧业,林业,环境,军事和医学等方面的应用需求的增长。
1.3图像的闭运算 闭运算:
使用同一个结构元素对图像先膨胀再进行腐蚀的运算称为闭运算。闭合的算符为,A用B开闭合写作AB,其定义为AB(AB)B。闭运算通常用来填充目标内细小空洞,连接断开的邻近目标,平滑其边界的同时并不明显改变其面积。
MATLAB中用imclose函数来实现闭合操作。该函数功能是对灰度图像执行形态学闭运算,即使用同样的结构元素先对图像进行膨胀操作后进行腐蚀操作。调用格式为:IM=imclose(A,SE)
1
沈阳理工大学数字图像处理课程设计
第2章 课程设计分析
2.1 MATLAB在图像处理中的应用
MATLAB6.x提供了2O类图像处理函数,涵盖了图像处理包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。这些函数按功能可分为图像显示、图像文件I/O、图像算术运算、几何变换、图像登记、像素值与统计、图像分析、图像增强、线性滤波、线性二元滤波设计、图像去模糊、图像变换、邻域与块处理、灰度与二值图像的形态学运算、结构元素创建与处理、基于边缘的处理、色彩映射表操作、色彩空间变换及图像类型与类型转换。
Matlab数字图像处理工具箱函数包括以下几类:(1)图像显示函数;(2)图像文件输入、输出函数;(3)图像几何操作函数;(4)图像像素值及统计函数;(5)图像分析函数;(6)图像增强函数;(7)线性滤波函数;(8)二维线性滤波器设计函数;(9)图像变换函数;(10)图像邻域及块操作函数;(11)二值图像操作函数;(12)基于区域的图像处理函数;(13)颜色图操作函数;(14)颜色空间转换函数;(15)图像类型和类型转换函数。
2.2 图像处理概念
图像处理并不仅限于对图像进行增强、复原和编码,还要对图像进行分析,图像分析旨在对图像进行描述,即用一组数或符号表征图像中目标区的特征、性质和相互间的关系,为模式识别提供基础。描述一般针对图像或景物中的特定区域或目标。闭运算通常用来填充目标内细小空洞,连接断开的邻近目标,平滑其边界的同时不明显改变其面积。
2.3 图像二值化的基本原理
图像的二值化处理就是讲图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于再对图像做进一步处理时,图像的集合性质只与像素值为0或255的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处理和压缩量小。为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。所有灰度大于或等于阀值的像素被判定为属于特
2
沈阳理工大学数字图像处理课程设计
定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。如果某特定物体在内部有均匀一致的灰度值,并且其处在一个具有其他等级灰度值的均匀背景下,使用阀值法就可以得到比较的分割效果。如果物体同背景的差别表现不在灰度值上(比如纹理不同),可以将这个差别特征转换为灰度的差别,然后利用阀值选取技术来分割该图像。动态调节阀值实现图像的二值化可动态观察其分割图像的具体结果。
2.4膨胀
膨胀是将与目标区域接触的背景点合并到该目标物中,使目标边界向外部扩张的处理。膨胀可以用来填补目标区域中存在的某些空洞,以及消除包含在目标区域中的小颗粒噪声。膨胀的算符为,A用B来膨胀写作AB。具体步骤如下:
⑴ 用结构元素B,扫描图像A的每一个像素 ⑵ 用结构元素与其覆盖的二值图像做“与”操作 ⑶ 如果都为0,结果图像的该像素为0。否则为1 在MATLAB中运用dilate函数来实现膨胀操作。
2.5腐蚀
腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的目标物。如果两目标物间有细小的连通,可以选取足够大的结构元素,将细小连通腐蚀掉。腐蚀的算符为,A用B来腐蚀写作AB。 腐蚀是对X中的集合A和B,B对A进行腐蚀的整个过程如下: ⑴ 用结构元素B,扫描图像A的每一个像素 ⑵ 用结构元素与其覆盖的二值图像做“与”操作 ⑶ 如果都为1,结果图像的该像素为1。否则为0 腐蚀处理的结果是使原来的二值图像减小一圈。 MATLAB中用erode函数来实现腐蚀操作。
3
沈阳理工大学数字图像处理课程设计
第3章 仿真
3.1 10*10的结构元素闭运算源代码
I=imread('E:\\zhaopian.jpg'); %读取E盘中的名为照片的一张图片 J=im2bw(I); %将图片进行二值化操作 figure,imshow(J); %输出图片 title('原图'); %把图片命名为“原图” SE=strel('square',10); %定义一个结构元素 A=imclose(J,SE); %将图片进行闭运算操作 figure,imshow(A); %输出操作后的图片
title('闭合后的图形'); %将照片命名为“闭合后的图形”
3.2 20*20的结构元素闭运算源代码
I=imread('E:\\zhaopian.jpg'); %读取E盘中的名为照片的一张图片 J=im2bw(I); %将图片进行二值化操作 figure,imshow(J); %输出图片 title('原图'); %把图片命名为“原图” SE=strel('square',20); %定义一个结构元素 A=imclose(J,SE); %将图片进行闭运算操作 figure,imshow(A); %输出操作后的图片
3.3从相反方面分析观察闭运算源代码
I=imread('E:\\zhaopian.jpg'); %读取E盘中的名为照片的一张图片 J=1-im2bw(I); %将图片进行二值化操作 figure,imshow(J); %输出图片 title('原图'); %把图片命名为“原图” SE=strel('square',10); %定义一个结构元素 A=imclose(J,SE); %将图片进行闭运算操作 figure,imshow(A); %输出操作后的图片
4
沈阳理工大学数字图像处理课程设计
第4章 结果分析
4.1用10*10的结构元素进行运算:
图4.1 10*10结构元素原图
5
沈阳理工大学数字图像处理课程设计
图4.2 用10*10结构元素闭合后的图形
由仿真结果可见,图像通过闭运算之后,将原图中原有的目标间断以及目标内部的孔洞在基本保持原目标的大小与形态的同时进行了连接与填充。
4.2用20*20的结构元素进行运算:
6
沈阳理工大学数字图像处理课程设计
图4.3 20*20结构元素原图
图4.4 用20*20结构元素闭合后的图形
以更大的结构元素进行运算的效果更为明显。
7
沈阳理工大学数字图像处理课程设计
4.3从相反方面分析观察闭运算处理
图4.5相反方面的10*10结构元素的原图
图4.6 相反方面的10*10结构元素闭合后的图形
8
沈阳理工大学数字图像处理课程设计
结 论
在我们的实际生活、生产中,人们直接获得的原始图像并不能够直接运用到生活、生产中,因为原始图像在生成、传输和转换过程中可能会受到多种因素的影响。一般情况下,膨胀和腐蚀是不可逆的运算,对图像膨胀或腐蚀都导致图像目标面积大小改变。为了对二值图像进行这两种基本操作而保证图像目标面积不发生明显改变,提出了二值图像的闭运算。
闭运算是在保持原目标的大小与形态的同时,填充凹陷,弥合孔洞和裂缝。常用来填充空洞,凹陷和连接断开的目标,与膨胀的作用相似,但与膨胀的处理相比,具有保持目标大小不变的优点。
9
沈阳理工大学数字图像处理课程设计
参考文献
[1] 刘刚. MATLAB数字图像处理[M].北京:机械工业出版社.2010:34-45. [2] 胡学龙.数字图像处理[M].北京:电子工业出版社.2008:30-40. [3] 陈传波,金先级.数字图像处理[M].北京:机械工业出版社.2004:40-60. [4] 章毓晋.数字图像处理[M].北京:清华大学出版社.2007:20-54. [5] 张志涌,精通MATLAB6.5[M].北京:北航电子版.2002:60-79.
[6] 章毓晋(译).彩色数字图像处理[M]. 北京:清华大学出版社.2010:35-76. [7] 闫敬文.数字图像处理MATLAB版[M].国防工业出版社.2007:25-56. [8] 王家文.MATLAB 6.5图形图像处理[M].国防工业出版社.2001:80-90.
10
因篇幅问题不能全部显示,请点此查看更多更全内容