您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 股票报告 > 第7章-HALCON数学形态学与Blob分析
◆7.1◆7.2◆7.3◆7.4◆7.5◆7.6数学形态学的发展历史及基本概念数学基础形态学基本运算二值图像数学形态学分析Blob分析数学形态学工程应用第7章HALCON数学形态学与Blob分析HALCON编程基础与工程应用7.1数学形态学的发展及基本概念形态学:通常指生物学中对动植物的形状和结果进行处理的一个分支。数学形态学(mathematicalmorphology):是根据形态学概念发展而来具有严格数学理论基础的科学,并在图像处理和模式识别领域得到了成功应用。除了通常作为一种抽取图像中区域形状特征,如边界、骨骼和凸壳等,的工具外,也经常用于图像的预处理和后处理,如:形态学滤波、细化和修剪等。数学形态学是分析几何形状和结构的数学方法,它是建立在集合代数的基础上用集合论方法定量描述目标几何结构的学科。HALCON编程基础与工程应用7.2数学基础集合论的一些基本概念:-属于、不属于、空集令A是Z2中的一个集合,如果a是其中的一个元素,称a属于A,并记作:aA,否则,称a不属于A,记为:aA,如A中没有任何元素,称A为空集:-子集、并集、交集AB,C=AB,C=AB-不相连(互斥)、补集、差集AB=,Ac={a|aA},A–B={c|cA,cB}=ABc-反射(相对某个中心点)、移位(相对原点),(),zBwwbbBAccazaAHALCON编程基础与工程应用并、交、补、减集合关系的图形表示HALCON编程基础与工程应用7.3形态学基本运算腐蚀(erosion)膨胀(dilation)开、闭运算(opening、closing)击中击不中变换(hit-or-miss)HALCON编程基础与工程应用1、腐蚀(erosion)定义:集合A被集合B腐蚀,表示为,数学形式为BA}:{AxBxBAA称为输入图像,B称为结构元素。边界向内部收缩的过程,如下图所示:腐蚀相关算子:erosion_circle;erosion_rectangle;erosion1;erosion2等HALCON编程基础与工程应用2、膨胀(dilation)定义:集合A被集合B膨胀,表示为,数学形式为A称为输入图像,B称为结构元素。膨胀可以填充图像内部的小孔及在图像边缘处的小凹陷部分,并能够磨平图像向外的尖角,如下图所示:BACCBABA)]([膨胀相关算子:dilation_circle;dilation_rectangle;dilation1;dilation2等HALCON编程基础与工程应用腐蚀、膨胀操作应用举例任务:消除二值图像中的不相关细节(a)原图(b)腐蚀后图像(c)膨胀后图像HALCON编程基础与工程应用3、开运算(opening)开运算是利用结构元素B对输入图像A进行开运算,用符号表示,其定义:开运算是A先被B腐蚀,然后再被B膨胀。开运算能够使图像的轮廓变得光滑,还能使狭窄的连接断开及消除细毛刺,如下图所示:BABBABA)(开运算相关算子:opening;opening_circle;opening_rectangle1等HALCON编程基础与工程应用4、闭运算(closing)闭运算是开运算的对偶运算,定义为先作膨胀然后再作腐蚀。利用B对A作闭运算表示为,定义为:闭运算是用-B对A进行膨胀,将其结果用-B进行腐蚀。闭运算通常会弥合较窄的间断和细长的沟壑,还能消除小的孔洞及填充轮廓线的断裂,如下图所示:BA)]()([BBABA闭运算相关算子:closing;closing_circle;closing_rectangle1等HALCON编程基础与工程应用开、闭运算进行形态学滤波举例过程:先开后闭,开消除噪声,闭修复开运算造成的指纹断裂。例:指纹图像滤波HALCON编程基础与工程应用5、击中击不中变换(hit-or-miss)击中击不中变换需要两个结构基元E和F,一个探测图像内部,一个探测图像外部,其定义为:)()(FAEABACFEBEUF击中与击不中变换是用我们感兴趣的E去腐蚀图像A,得到的结果是使E完全包含于A的图像内部时其中心点位置的集合U1,可以将U1看作是E在A中所有匹配的中心点的集合。击中击不中示意图如下图所示:(a)击中元素结构(b)击不中元素结构(c)输入图像(d)击中击不中输出击中击不中算相关算子:hit_or_miss等HALCON编程基础与工程应用7.4二值图像数学形态学分析边界提取(Boundary)孔洞填充(Holefilling)骨架(skeletons)HALCON编程基础与工程应用1、边界提取(Boundary)腐蚀膨胀最常用的应用是计算区域的边界:相当于采用一个3*3的结构元素对原图像进行腐蚀,只有那些8邻域都是黑点的内部点被保存,再用原图像减去腐蚀后的图像。(a)原图(b)腐蚀的结构元素B(c)A被B腐蚀(d)用A减去(c)中腐蚀图像boundary算子boundary(Region:RegionBorder:BoundaryType:)Region:想要进行边界提取的区域;RegionBorder:边界提取后获得的边界区域;BoundaryType:边界提取的类型,HALCON编程基础与工程应用2、孔洞填充(Holefilling)A表示一个集合,其元素是8连通的边界,每个边界包围一个背景区域(即一个孔洞),给定每一个孔洞中一个点,然后从该点开始填充整个边界包围的区域,公式如下:ckkABXX)(1其中B是结构元素,如果Xk=Xk-1,则算法在第k步迭代结束,集合Xk包含了所有被填充的孔洞。Xk和A的并集包含了所有的填充的孔洞及这些孔洞的边界。如果不加限制,上式中的膨胀可以填充整个区域,然而每一步中与A的交集操作都把结果限制在感兴趣区域内,过程如右图所示。空洞填充相关算子:fill_up;fill_up_shape等HALCON编程基础与工程应用3、骨架(skeletons)“骨架”是指一幅图像的骨骼部分。二值图像A的形态学骨架可以通过选定合适的结构元素B,对A进行连续腐蚀和开运算求得。设S(A)表示A的骨架,则求图像A的骨架的表达式:K0kk)(S=)A(SABKB)(A-KB)(A=)A(SHALCON骨架算子:skeleton(Region:Skeleton::)junctions_skeleton(Region:EndPoints,JuncPoints::)HALCON编程基础与工程应用7.5Blob分析在HALCON中,Blob是指一个提取所得的Region,是指对该二值区域进行面积、周长、重心等特征的分析过程。Blob分析包含的图像处理技术:(1)图像分割;(2)形态学操作;(3)连通性分析;(4)特征值计算;(5)场景描述;Blob分析流程图Blob分析主要适用于以下图像:(1)二维目标图像;(2)高对比度图像;(3)场景简单图像;Blob分析并不适用于以下情况:(1)低对比度图像;(2)必要的图像特征不能用2个灰度级描述;(3)按照模版检测(图形检测需求);HALCON编程基础与工程应用Blob分析相关算子1.图像获取相关算子read_image;read_sequence;read_region;read_region;read_region。2.图像分割相关算子partition_dynamic;auto_threshold;bin_threshold;char_threshold;dyn_threshold;fast_threshold;threshold;var_threshold;binary_threshold等。3.形态学处理相关算子Connection;select_shape;erosion;dilation;opening;closing;opening_circle;closing_circle;opening_rectangle1;closing_rectangle1;difference;intersection;union1;shaps_trans;fill_up;boundary;skeleton;top-hat;bottom-hat;hit-or-miss。4.提取特征相关算子area_center;smallest_rectangle1;smallest_rectangle2;compactness;eccentricity;elliptic_axis;area_center_gray;intensity;min_max_gray。HALCON编程基础与工程应用Blob例程例:提取圆形焊点的定位与测量图像分析:可以看出,目标区域相比背景区域灰度值较小,底部低灰度值横线容易对检测造成干扰,中间存在矩形区域与焊点区域灰度值相近。编程思路:首先应将图像四周边缘剪切掉,以免造成各焊点粘连,采用的方法是区域形状转换与reduce_domain结合的方式;然后用阈值分割提取焊点区域,开运算排除其他干扰,select_shape_std根据形状选择方形区域,用区域相减的方式得到最终焊点区域。最后求取各焊点的最小外接圆半径与中心坐标,HALCON代码参考本书对应章节。(a)原图(b)阈值分割(c)开运算(d)区域相减(e)最小外接圆HALCON编程基础与工程应用7.6数学形态学工程应用数学形态学在图像处理过程中能够完成图像滤波、图像分割、图像测量等任务,是图像处理过程中较为关键的一环。1.工业图像处理在在线自动视觉检测系统中,形态学主要用于消除不均匀背景照明并检测缺陷,比如在钢带生产线中检测钢带的擦伤、裂纹等。也被用于自动提取喷涂在板材上网格模式点的节点以估计其冲压后的变形情况。2.材料科学图像处理形态学在材料科学领域常用于纤维长度和直径的估计,具体的为用形态学方法分离扫描电子显微镜图像上横断面或交叉纤维中发亮的相连纤维,对于低对比度的图像采用分水岭分割方法和区域邻接图算法。3.医学图像处理医学图像应用形态学的例子更为广泛,比如利用形态学和统计学工具分析共焦细胞图像;利用形态学多分辨率图像表示和分解技术对核磁共振断层扫描图像的融合。HALCON编程基础与工程应用数学形态学工程实例例:小球计数图像分析:如图所示,小球所在区域的灰度值较高,但是相邻小球之间存在不同程度的粘连问题,需要考虑如何将他们分开。编程思路:首先用自动阈值分割将背景去除,提取出小球所在区域,用开运算去除干扰区域,计算连通性后发现存在粘连发生,然后对目标区域用圆结构腐蚀,再次计算连通性,最后膨胀到原始小球大小并计数即可,HALCON代码参考本书对应章节。(b)阈值分割(c)开运算(d)腐蚀(e)膨胀(a)原图HALCON编程基础与工程应用总结形态学图像处理被广泛应用于图像分割和图像描述等方面。本章介绍了二值形态学的基本运算----腐蚀和膨胀,并以此为基础,引出了其他常见的数学形态学运算,如开闭运算、击中击不中变换等。还介绍了Blob分析相关技术,详细阐述了Blob分析的优缺点、应用条件及部分算子。并通过例程的形式展示了目前形态学在各领域的工程应用。HALCON编程基础与工程应用
本文标题:第7章-HALCON数学形态学与Blob分析
链接地址:https://www.777doc.com/doc-7077908 .html