1、数字图像处理课设 图像的闭运算第1章 相关知识1.1 MATLAB在图像处理中的应用MATLAB6x提供了2O类图像处理函数,涵盖了图像处理包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。这些函数按功能可分为图像显示、图像文件IO、图像算术运算、几何变换、图像登记、像素值与统计、图像分析、图像增强、线性滤波、线性二元滤波设计、图像去模糊、图像变换、邻域与块处理、灰度与二值图像的形态学运算、结构元素创建与处理、基于边缘的处理、色彩映射表操作、色彩空间变换及图像类型与类型转换。Matlab数字图像处理工具箱函数包括以下几类:(1)图像显示函数;(2)
2、图像文件输入、输出函数;(3)图像几何操作函数;(4)图像像素值及统计函数;(5)图像分析函数;(6)图像增强函数;(7)线性滤波函数;(8)二维线性滤波器设计函数;(9)图像变换函数;(10)图像邻域及块操作函数;(11)二值图像操作函数;(12)基于区域的图像处理函数;(13)颜色图操作函数;(14)颜色空间转换函数;(15)图像类型和类型转换函数。1.2 图像处理概念图像处理并不仅限于对图像进行增强、复原和编码,还要对图像进行分析,图像分析旨在对图像进行描述,即用一组数或符号表征图像中目标区的特征、性质和相互间的关系,为模式识别提供基础。描述一般针对图像或景物中的特定区域或目标。闭运算通
3、常用来填充目标内细小空洞,连接断开的邻近目标,平滑其边界的同时不明显改变其面积。1.3 图像二值化的基本原理 图像的二值化处理就是讲图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于再对图像做进一步处理时,图像的集合性质只与像素值为0或255的点的位置有关,不再涉及像素的多级值,使处理变得
4、简单,而且数据的处理和压缩量小。为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。如果某特定物体在内部有均匀一致的灰度值,并且其处在一个具有其他等级灰度值的均匀背景下,使用阀值法就可以得到比较的分割效果。如果物体同背景的差别表现不在灰度值上(比如纹理不同),可以将这个差别特征转换为灰度的差别,然后利用阀值选取技术来分割该图像。动态调节阀值实现图像的二值化可动态观察其分割图像的具体结果。第2章 课程设计分析2.1膨胀膨胀是将与目标区域
5、接触的背景点合并到该目标物中,使目标边界向外部扩张的处理。膨胀可以用来填补目标区域中存在的某些空洞,以及消除包含在目标区域中的小颗粒噪声。膨胀的算符为,A用B来膨胀写作。具体步骤如下: (1)用结构元素B,扫描图像A的每一个像素; (2)用结构元素与其覆盖的二值图像做“与”操作; (3)如果都为0,结果图像的该像素为0,否则为1。在MATLAB中运用dilate函数来实现膨胀操作。2.2腐蚀腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的目标物。如果两目标物间有细小的连通,可以选取足够大的结构元素,将细小连通腐蚀掉。腐蚀的算符为,A用B来腐蚀写作。腐蚀是对X中的集合A和B
6、,B对A进行腐蚀的整个过程如下: (1)用结构元素B,扫描图像A的每一个像素; (2)用结构元素与其覆盖的二值图像做“与”操作; (3)如果都为1,结果图像的该像素为1,否则为0。 腐蚀处理的结果是使原来的二值图像减小一圈。在MATLAB中用erode函数来实现腐蚀操作。2.3闭运算使用同一个结构元素对图像先膨胀再进行腐蚀的运算称为闭运算。闭合的算符为,A用B开闭合写作,其定义为。闭运算通常用来填充目标内细小空洞,连接断开的邻近目标,平滑其边界的同时并不明显改变其面积。MATLAB中用imclose函数来实现闭合操作。该函数功能是对灰度图像执行形态学闭运算,即使用同样的结构元素先对图像进行膨胀
7、操作后进行腐蚀操作。调用格式为:IM=imclose(A,SE)。第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(闭合后的图形); %将照片命名为“闭合后的图形”结果分析:
8、用10*10的结构元素进行运算: 图3.1 原图图3.2 用10*10结构元素闭合后的图形由仿真结果可见,图像通过闭运算之后,将原图中原有的目标间断以及目标内部的孔洞在基本保持原目标的大小与形态的同时进行了连接与填充。3.2 用20*20结构元素进行闭运算把SE=strel(square,10),改为SE=strel(square,20),观察。I=imread(E:zhaopian.jpg); %读取E盘中的名为照片的一张图片J=im2bw(I); %将图片进行二值化操作figure,imshow(J); %输出图片title(原图); %把图片命名为“原图”SE=strel(square,
9、20); %定义一个结构元素A=imclose(J,SE); %将图片进行闭运算操作figure,imshow(A); %输出操作后的图片title(闭合后的图形); %将照片命名为“闭合后的图形”仿真结果分析:用20*20的结构元素进行运算:图3.3 原图图3.4 用20*20结构元素闭合后的图形由以上两图可以得知,如果以更大的结构元素进行运算的话,效果更为明显。3.3从相反方面分析观察闭运算处理将第二条语句改为J=1-im2bw(I)。I=imread(E:zhaopian.jpg); %读取E盘中的名为照片的一张图片J=1-im2bw(I); %将图片进行二值化操作figure,imsh
10、ow(J); %输出图片title(原图); %把图片命名为“原图”SE=strel(square,10); %定义一个结构元素A=imclose(J,SE); %将图片进行闭运算操作figure,imshow(A); %输出操作后的图片title(闭合后的图形); %将照片命名为“闭合后的图形”结果及分析如下:图3.5 相反方面的原图图3.6 相反方面的10*10结构元素闭合后的图形由以上两图和之前没有做过相反方面处理的图形比较,其结果是相同的,只不过像素灰度值是相反的。结 论图像的二值化处理就是将图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。一般情况下,膨胀和腐蚀是
11、不可逆运算,对图像膨胀或腐蚀都导致图像目标面积大小改变。为了对二值图像进行着两种基本操作而保证图像目标面积不发生明显变化,提出了二值图像的开运算和闭运算。使用同一个结构元素对图像先膨胀再进行腐蚀的运算称为闭运算。闭运算的作用是在保持原目标的大小与形态的同时,填充凹陷,弥合孔洞和裂缝。常用来填充孔洞、凹陷和连接断开的目标,与膨胀作用相类似,但与膨胀的处理相比,具有保持目标大小不变的优点。参考文献1张汗灵. MATLAB在图像处理中的应用M.北京:清华大学出版社,2008:20-30.2王家文. MATLAB 6.5图形图像处理M.北京:国防工业出版社,1998:40-57.3王晓丹.MATLAB的系统分析与设计M.西安:西安电子科技大学出版,2000:97-124. 4余成波.数字图像处理及MATLAB实现M重庆:重庆大学出版,2003:49-67. 5周金萍.MATLAB 6.5图形图像处理与应用实例M.北京:科学出版社,2003:60-89.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1