《数字图像形态学设计报告.docx》由会员分享,可在线阅读,更多相关《数字图像形态学设计报告.docx(17页珍藏版)》请在第壹文秘上搜索。
1、基于数学形态学的图像处理2012.06.031 .引言22 .设计原理21.1 1灰度图像的膨胀腐蚀处理21.2 膨胀31.3 腐蚀41.4 开运算和闭运算53 .二值图像形态学处理63 .1试验过程与程序64 .2实验结果与分析74 .灰度图像形态学处理94 .1试验过程与程序95 .2实验结果与分析95 .细胞数目的计算115 .1试验过程与程序116 .2实验结果与分析136 .结论157 .参考文献161.引言数学形态学是一门建立在集论根底上的学科,是几何形态学分析和描述的有力工具。数学形态学的历史可回溯到19世纪。1964年法国的MaIheron和Serra在积分几何的研究成果上,将
2、数学形态学引入图像处理领域,并研制了基于数学形态学的图像处理系统。1982年出版的专著ImageAnalysisandMathematicalMorphology是数学形态学开展的重要里程碑,说明数学形态学在理论上趋于完备及应用上不断深入。数学形态学蓬勃开展,由于其并行快速,易于硬件实现,已引起了人们的广泛关注。目前,数学形态学已在计算机视觉、信号处理与图像分析、模式识别、计算方法与数据处理等方面得到了极为广泛的应用。数学形态学可以用来解决抑制噪声、特征提取、边缘检测、图像分割、形状识别、纹理分析、图像恢复与重建、图像压缩等图像处理问题。该文将主要对数学形态学的根本理论及其在图像处理中的应用进
3、行综述。随着计算机技术的开展,图像及信号处理技术越来越为群众所需求。经典的信号处理方法主要是基于线性系统的理论、传统的信号与系统的概念及FOUrier分析,并广泛地运用于不同的科学与技术领域中。然而,对于图像的形态特征和几何结构等非线性因素的分析和描述却由于系统的线性特征而受到限制。近几十年开展起来的数学形态学1从理论和方法上弥补了这一缺憾,数学形态学不仅提供了描述和分析图像几何及形状特征的多种技术和方法,同时它对于经典的信号处理技术也产生了极大的影响并扩展了原有的技术。基于数学形态学的图像处理技术是一种采用集合的概念表示图像、非线性叠加方式描述图像的非线性系统技术,称之为形态系统2,它广泛地
4、应用于生物医学和电子显微镜图像的分析以及数字图像处理和计算机视觉等领域,并已开展成为一种新型的图像处理方法和理论。用于图像处理的形态系统,具有完备的结构和理论体系,是进行非线性性态分析和描述的有力工具,随着制造业的快速开展和制造业在国民经济中的地位越来越重要,焊接缺陷射线检测的作用越来越大。射线检测是企业生产中的一种行之有效的缺陷检测方法,通过它来控制和改善产品质量。然而射线检测信号的信噪比一般都较低,因此寻求有效的处理方法和手段势在必行。论文以X射线检测焊接缺陷为研究对象,对其内部缺陷的自动检测与识别的关键技术进行了深入系统的研究,设计开发了射线缺陷自动检测软件。2.设计原理2.1 灰度图像
5、的膨胀腐蚀处理前边针对二值图像的形态学处理的根本运算作了系统的介绍,这些根本算法可方便地推广至灰度图像的处理。这一小节我们将讨论对灰度图像的根本处理,即:膨胀、腐蚀、开运算、闭运算。由此建立一些根本的灰度形态算法那么。与前边二值图像形态学处理理论不同的是在以下的讨论中我们将处理数字图像函数而不是集合。设历是输入图像,以用切是结构元素,它可被看作是一个子图像函数。如果Z表示实整数的集合,同时假设出力是来自z*z的整数,f和h是对坐标为(x,y)像素灰度值的函数(来自实数集R的实数)。如果灰度也是整数,那么Z可由整数R所代替。2.2 膨胀膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩
6、张的过程,可以用来填补物体中的空洞。函数b对函数f进行灰度膨胀可定义,力,运算式如下:(/b)(s,t)=maxf(s-xit-y)+(x,y)(s-x)9(t-y)eDf;(x,y)DJ(2-1)其中Zy和。b分别是函数,和b的定义域,和前面一样,人是形态处理的结构元素,不过此处方是一个函数而不是一个集合。位移参数侪幻和小诊必须包含在函数/的定义域内,此时它模仿二值膨胀运算定义。在这里两个集合必须至少有一个元素相交叠。下面我们将用一维函数来解释上式中的运算原理。对于仅有一个变量的函数,上式可以简化为:(/3(s)=max/(ST)+HH(sr)0M)在卷积中,WR仅是人切关于X轴原点的映射,
7、正像卷积运算那样,相对于正的s,函数Tfs-R将向右移,对于-s,函数九S-刘将向左移。其条件是出外必须在/的定义域内,X的值必须在力的定义域内。这意味着/和人将相覆盖,即b应包含在了内。这和二值图像膨胀定义要求的情形是类似的,即两个集合至少应有一个元素是相互覆盖的。最后,与二值图像的情况不同,不是结构元素方而是平移。公式(2-1)可以使b代替了写成平移的形式。然而,如果。力比Zy小,公式(2-1)所给出的形式就可在索引项中加以简化,并可以获得同样的结果。就概念而言,在f上滑动力和在b上滑动/是没有区别的。膨胀是可以代换的,因而/和b相互代换的方法运用于公式(2-1)可以用来计算芦b结果都是一
8、样的而且b是平移函数。相反,腐蚀是不可以交换的,因而,这种函数也是不可互换的。由于膨胀操作是由结构元素形状定义的邻域中选择了+力的最大值,因而通常对灰度图像的膨胀处理方法可得到两种结果:(1)如果所有的结构元素都为正,那么输出图像将趋向比输入图像克;(2)黑色细节减少或去除取决于在膨胀操作中结构元素相关的值和形状。2.3腐蚀腐蚀那么是一种消除边界点,使边界向内部收缩的过程,可以用来消除小且无意义的物体。灰度图像的腐蚀定义为了0。,其运算公式为:(2-3)(/0Z?)(5,r)=min|/(5+x,r+y)-Z?(x,y)|(5+x),(r+y)eD/;(x,yeD/,)|公式中”和Dh分别是7
9、和b的定义域。平移参数s+x和什y必须包含在f的定义域内,与二元腐蚀的定义类似,所有的结构元素将完全包含在与被腐蚀的集合内。还应注意到公式Q-3)的形式与二维相关公式相似,只是用“最小”取代求和,用减法代替乘积。如果只有一个变量时,我们可以用一维的腐蚀来说明公式(2-3)的原理。此时,表达式可简化为:(三)=min(s+x)-b(X)KS+x)Dy;(X劣)“)在相关情况下,当S为正时,函数仆+x)将向右平移,当S为负时,函数s+幻将向左移,同时,要求何+幻意味着将包含在了的范围内。这一点同二值图像腐蚀定义的情况相似,所有的结构元素将完全包含在被腐蚀的集合内。不同于二值图像腐蚀定义,操作中是f
10、在平移,而不是结构元素b在平移。公式(23)可以把写成平移函数,由于/在b上滑动同b在/上滑动在概念上是一致的。正如公式(23)所示,腐蚀是在结构元素定义的领域内选择俨力)的最小值,因而,通常对灰度图像的膨胀处理可得到两种结果:(1)如果所有的结构元素都为正,那么输出图像将趋向比输入图像暗;(2)在比结构元素还小的区域中的明亮细节经腐蚀处理后其效果将减弱。减弱的程度取决于环绕亮度区域的灰度值以及结构元素自身的形状和幅值。与求补、映射相关的膨胀、腐蚀是有互补性的,即(Z?/ (x,y) = fZ?(2-5)其中:广=-,y)3 = (r,-y)图2-2灰度腐蚀图例2.4开运算和闭运算灰度图像开运
11、算和闭运算的表达式与二值图像相比具有相同的形式。结构元素b对图像f作开运算处 理,可定义为fOb,即fob = (fQb)b(2-7)类如果是二值图像的情况,开运算是b对/的简单的腐蚀操作,接下来对腐蚀的结果再进行膨胀操作。 似地,匕对了的闭运算,定义为fb,即h = ( A)Oh(2-8)灰度图像开运算和闭运算对于求补和映射也是对偶的,即(f =fob(2-9)假设看到一个三维的图像函数i以像一个地貌地图),X和y是空间坐标轴,第三坐标轴是亮度坐标 轴(即:/的值)。在重现中,图像作为一个平面显示,其中的任意点优切是/在该点坐标值。假设我们想用 球形结构元素b对/作开运算,这时可将b看作“滚
12、动的球”。b对/的开运算处理在几何上可解释为让“滚 动球”沿f的下沿滚动,经这一 “滚动”处理,所有的比“小球”直径小的峰都磨平了。图2-2解释了这 一概念。图2-2(a)为解释简单,把灰度图像简化为连续函数剖面线;(b)显示了 “滚动球”在不同的位置上滚动;(C)显示了沿函数剖面线结构元素b对/开运算处理结果。所有小于球体直径的波峰值、锋利度都减少了。在实际运用中,开运算处理常用于去除较小的亮点(相对结构元素而言),同时保存所有的灰度和较大的亮区特征不变。腐蚀操作去除较小的亮的细节,同时使图像变暗。如果再施以膨胀处理将增加图像的亮度而不再引入已去除的局部。图2-2(d)显示了结构元素b对/的
13、闭操作处理。此时,小球(结构元素)在函数剖面上沿滚动,图2-2(e)给出了处理结果,只要波峰的最窄局部超过小球的直径那么波峰保存原来的形状。在实际运用中,闭运算处理常用于去除图像中较小的暗点(较结构元素而言),同时保存原来较大的亮度特征。最初的膨胀运算去除较小暗细节,同时也使图像增亮。随后的腐蚀运算将图像调暗而不重新引入已去除的局部。3 .二值图像形态学处理3.1 试验过程与程序根据课本上膨胀和腐蚀的定义,利用for函数实现膨胀和腐蚀变化。然后以这变化为根底。通过调用函数实现其他高帽、低帽、梯度变换等。主要编辑的是膨胀和腐蚀程序,开运算、闭运算等都是以膨胀和腐蚀为根底的运算。膨胀函数时,我采用
14、的是求极大值的方法,即在位于信号下方的条件下,求上推结构所能到达的最大值。也就是说,利用结构元素的反射,将图像限制在结构元素的定义域内,上推结构元素,取其超过图像时的最小值。程序简介:row,col=size(img);img=double(img);pzys=img%扩展四行四列new=zeros(row+4,col+4);%0为黑,1为白fori=l:rowforj=l:colnew(i+2,j+2)=img(i,j);endendnew(l,:)=1;new(2f:)=1;new(:,1)=1;new(:,2)=1;new(row+3,:)=1;new(row+4,:)=1;new(:,
15、col+3)=1;new(:,col+4)=1;fors=3:row+2fort=3:col+2forx=-2:2fory=2:2if(new(s+x,t+y)=0)pzys(s-2,t-2)=0;endendendendendsubplot(1,3,2);imshow(pzys),title(,膨胀);3.2 实验结果与分析图3-1是自编函数实现膨胀和腐蚀变换,左边是原始图像,中间是对黑色细胞进行膨胀处理后图像。右图是对原始图像黑色细胞进行腐蚀处理。膨胀是利用结构元素对图形进行补集进行填充,二腐蚀是对图像内部进行滤波处理。上图对细胞的膨胀腐蚀效果明显,中图中细胞明显大了,右图中细胞明显小了。原图像膨胀腐蚀然量lCCoCOQi,久OO图3-1膨胀腐蚀示意图图3-2是自编函数实现开和闭运算,左边是原始图片,中间是对细胞开运算。右边是对原图像闭运算。开、闭运算时腐蚀和膨胀的组合运算,开运算时先腐蚀后膨胀,闭运算时先膨胀后腐蚀。开运算是对图像内部滤波处理,磨光图像的外边界。闭运算时对图像尾部做滤波处理,磨光图像内部作用。结果如上图,中图细胞外部光滑没有菱角,右图细胞外部光滑没有菱角。