首页> 中国专利> 一种基于连通区域滤波的圆形Mark点的定位方法

一种基于连通区域滤波的圆形Mark点的定位方法

摘要

一种基于连通区域滤波的圆形Mark点的定位方法,本发明涉及定位方法。本发明是要解决定位算法复杂,计算机内存需求大,检测时间长精度低及外界环境引起与模板匹配不成功对Mark的工艺要求高,产生变形圆形Mark点检测准确度达不到要求的问题,而提出一种基于连通区域滤波的圆形Mark点的定位方法。该方法是通过计算目标Mark点ROI区域;二得到目标Mark点边缘;三得到二值化ROI图像;四保留面积最大ROI连通区域;五保留面积ROI背景连通区域;六设计噪声滤波器;七得到滤波Canny边缘点;八得到最小外接矩形;九去除Canny边缘缺陷;十得到圆形Mark点的中心和半径参数。本发明应用定位方法领域。

著录项

  • 公开/公告号CN103729632A

    专利类型发明专利

  • 公开/公告日2014-04-16

    原文格式PDF

  • 申请/专利权人 哈尔滨工业大学;

    申请/专利号CN201410028192.7

  • 申请日2014-01-22

  • 分类号G06K9/00(20060101);G06K9/32(20060101);

  • 代理机构23109 哈尔滨市松花江专利商标事务所;

  • 代理人杨立超

  • 地址 150001 黑龙江省哈尔滨市南岗区西大直街92号

  • 入库时间 2024-02-19 23:28:07

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-08

    专利权的转移 IPC(主分类):G06K9/00 登记生效日:20191022 变更前: 变更后: 变更前:

    专利申请权、专利权的转移

  • 2019-10-08

    专利权的转移 IPC(主分类):G06K9/00 登记生效日:20190917 变更前: 变更后:

    专利申请权、专利权的转移

  • 2016-11-02

    授权

    授权

  • 2014-05-14

    实质审查的生效 IPC(主分类):G06K9/00 申请日:20140122

    实质审查的生效

  • 2014-04-16

    公开

    公开

说明书

技术领域

本发明涉及一种基于连通区域滤波的圆形Mark点的定位方法。

背景技术

目前,机器视觉在工业检测中应用越来越广泛,其中,对基准标志点(Mark点)的定位极其重要,其定位的精度和速度直接影响到产品的精度和速度。现阶段最常用的Mark点为圆形,传统的定位方法有模板匹配法,Hough圆变换,轮廓定位法等。模板匹配法检测速度快,但是容易受到外界环境影响,光照的变化都可能引起与标准模板匹配不成功而影响检测结果;Hough圆变换对噪声的抑制能力很强,但是其计算复杂,对计算机内存的需求大,执行速度也慢,而且对Mark的工艺要求较高,对于产生轻微变形的圆形Mark点,其检测准确度也达不到要求。

发明内容

本发明的目的是为了解决传统的圆形Mark点定位方法中Hough圆变换对噪声运算过程复杂,对计算机内存的需求大,执行速度慢,检测时间较长精度低的问题及传统方法容易受到外界环境影响引起与标准模板匹配不成功从而影响检测结果,并且该方法对Mark的工艺要求较高,对于产生轻微变形的圆形Mark点,检测准确度达不到要求的问题而提出的一种基于连通区域滤波的圆形Mark点的定位方法。

上述的发明目的是通过以下技术方案实现的:

步骤一、计算目标Mark点的ROI区域,其中ROI区域为目标感兴趣区域;

步骤二、将步骤一中得到的ROI图像采用Canny算子进行边缘检测,得到目标Mark点的边缘;

步骤三、对步骤一中得到的ROI的图像采用Otsu算法获取图像自适应阈值,并以此阈值进行二值化,得到二值化ROI图像,并将二值化ROI图像进行反色得到二值化ROI图像的背景,其中Otsu为最大类间差法或大津算法;

步骤四、对步骤三得到的二值化ROI图像进行连通区域标记,并保留面积最大的二值化ROI图像的连通区域;

步骤五、对步骤三得到的二值化ROI图像的背景进行连通区域标记,同样保留面积最大二值化ROI图像的背景连通区域;

步骤六、根据步骤四和五中得到的二值化ROI图像的最大连通区域和二值化ROI图像背景的最大连通区域,设计噪声滤波器;

步骤七、由步骤六得到的噪声滤波器对步骤二中的Canny边缘进行初次滤波,去除Canny边缘中干扰区域的边缘和噪声点,从而得到经过初次滤波的Canny边缘点,其中Canny边缘包括目标Mark点存在的干扰的边缘;

步骤八、通过基于凸包提取的算法来寻找步骤七经初次滤波后的Canny边缘点的最小外接矩形,最小外接矩形全部包含步骤七初次滤波后的Canny边缘点;

步骤九、对步骤八得到的最小外接矩形包含的初次滤波后的Canny边缘点再次进行滤波;

步骤十、对步骤九中再次过滤的Canny边缘进行最小二乘拟合得到最小二乘圆形Mark点的参数,根据最小二乘圆形Mark点的参数得到最终圆形Mark点的中心位置参数和半径参数;即完成了一种基于连通区域滤波的圆形Mark点的定位方法。

发明效果

本发明提供了一种基于连通区域标记滤波的圆形Mark点的定位方法,本方法实现了对圆形Mark点的快速、精确定位。该方法首先使用Canny算子进行边缘检测,获取图像的尺寸为656×492像素的目标圆形Mark点的边缘像素点;然后采用连通区域标记算法设计噪声滤波器,对圆形Mark点的Canny边缘进行初次滤波,滤掉噪声干扰;再寻求一个最小的矩形,包含所有初次滤波后的边缘点,由该矩形内切椭圆,对边缘点进行二次滤波,去除圆形Mark点的缺陷边缘;最后利用最小二乘法对边缘点进行拟合,得到圆形Mark点精确的圆心坐标和半径。本发明基于连通区域标记算法得到效果良好的滤波器,对滤波前后的Canny边缘点的图像分别如图6、7所示,本方法制备的滤波器100%的滤除了滤波器所确定的轮廓带之外的因外界环境光源不稳定、焊锡污染、氧化等因素引起的干扰和噪声,由于本方法采用连通区域标记算法设计噪声滤波器,无需模板就能对圆形Mark点的Canny边缘进行初次滤波,从而滤除掉噪声干扰,对圆形Mark点进行准确定位,具有很强的鲁棒性能。本发明基于连通区域滤波的圆形Mark点的定位算法过程简单,对Mark点的工艺要求低,实现了产生轻微变形的圆形Mark点的准确定位,有效节省计算机内存以及减少圆形Mark点定位的运行时间(运行时间达到30ms),具有运行速度快,检测精度高(精度能达到0.08个像素)等优点。

附图说明

图1是具体实施方式一中提出的一种基于连通区域滤波的圆形Mark点的定位方法流程图;

图2为实施例一提出的实际采集的圆形Mark点的完整图像;

图3为实施例一提出的得到二值化ROI图像;

图4为实施例一提出的保留面积最大的二值化ROI图像的连通区域示意图;

图5为实施例一提出的圆形Mark点的轮廓带示意图;

图6为实施例一提出的经过初次滤波前的Canny边缘点示意图;

图7为实施例一提出的经过初次滤波后的Canny边缘点对比示意图;

图8为实施例一提出的初次滤波后的Canny边缘点的最小外接矩形示意图;

图9为实施例一提出的Canny边缘产生的边缘缺陷示意图;

图10为实施例一提出的检测到的圆形Mark点的圆心和半径示意图。

具体实施方式

具体实施方式一:本实施方式的一种基于连通区域滤波的圆形Mark点的定位方法,具体是按照以下步骤制备的:

步骤一、计算目标Mark点的ROI(RegionofInterest)区域,其中ROI区域为目标感兴趣区域;ROI减少了图像计算所需尺寸;在之后的计算中,都在图像的ROI区域中进行计算,从而减少图像处理的时间;

步骤二、将步骤一中得到的ROI图像采用Canny算子进行边缘检测,得到目标Mark点的边缘,Mark点的边缘也可能包含一些干扰区域的边缘和噪声;

步骤三、对步骤一中得到的ROI内的图像采用Otsu算法获取图像自适应阈值,并以此阈值进行二值化,得到二值化ROI图像,并将二值化ROI图像进行反色得到二值化ROI图像的背景,其中Otsu为最大类间差法或大津算法;

步骤四、对步骤三得到的二值化ROI图像进行连通区域标记,并保留面积最大的二值化ROI图像的连通区域;

步骤五、对步骤三得到的二值化ROI图像的背景进行连通区域标记,同样保留面积最大二值化ROI图像的背景连通区域;

步骤六、根据步骤四和五中得到的二值化ROI图像的最大连通区域和二值化ROI图像背景的最大连通区域,设计噪声滤波器;

步骤七、由步骤六得到的噪声滤波器对步骤二中的Canny边缘进行初次滤波,去除Canny边缘中干扰区域的边缘和噪声点,从而得到经过初次滤波的Canny边缘点,其中Canny边缘包括目标Mark点的边缘及可能存在的干扰的边缘;在轮廓带中的Canny边缘点,作为目标Mark点的边缘点,不在轮廓带中的Canny边缘为干扰边缘或者不在轮廓带中的Canny边缘点为干扰点;

步骤八、通过基于凸包提取的算法来寻找步骤七经初次滤波后的Canny边缘点的最小外接矩形,使最小外接矩形能全部包含步骤七初次滤波后的Canny边缘点;

步骤九、对步骤八得到的最小外接矩形包含的初次滤波后的Canny边缘点再次进行滤波,去除由于可能由焊锡污染或者发生氧化等原因产生的边缘缺陷;边缘缺陷不是Mark点的真实边缘;

步骤十、对步骤九中再次过滤的Canny边缘进行最小二乘拟合得到最小二乘圆形Mark点的参数,根据最小二乘圆形Mark点的参数得到最终圆形Mark点的中心位置参数和半径参数如图1;即完成了一种基于连通区域滤波的圆形Mark点的定位方法。

本实施方式效果:

本实施方式提供了一种基于连通区域标记滤波的圆形Mark点的定位方法,本方法实现了对圆形Mark点的快速、精确定位。该方法首先使用Canny算子进行边缘检测,获取图像的尺寸为656×492像素的目标圆形Mark点的边缘像素点;然后采用连通区域标记算法设计噪声滤波器,对圆形Mark点的Canny边缘进行初次滤波,滤掉噪声干扰;再寻求一个最小的矩形,包含所有初次滤波后的边缘点,由该矩形内切椭圆,对边缘点进行二次滤波,去除圆形Mark点的缺陷边缘;最后利用最小二乘法对边缘点进行拟合,得到圆形Mark点精确的圆心坐标和半径。本实施方式基于连通区域标记算法得到效果良好的滤波器,对滤波前后的Canny边缘点的图像分别如图6、7所示,本方法制备的滤波器100%的滤除了滤波器所确定的轮廓带之外的因外界环境光源不稳定、焊锡污染、氧化等因素引起的干扰和噪声,由于本方法采用连通区域标记算法设计噪声滤波器,无需模板就能对圆形Mark点的Canny边缘进行初次滤波,从而滤除掉噪声干扰,对圆形Mark点进行准确定位,具有很强的鲁棒性能。本实施方式基于连通区域滤波的圆形Mark点的定位算法过程简单,对Mark点的工艺要求低,实现了产生轻微变形的圆形Mark点的准确定位,有效节省计算机内存以及减少圆形Mark点定位的运行时间(运行时间达到30ms),具有运行速度快,检测精度高(精度能达到0.08个像素)等优点。

具体实施方式二:本实施方式与具体实施方式一不同的是:步骤三所述的并将二值化图像进行反色得到二值化图像的背景的具体过程为:

二值化ROI图像进行反色的背景灰度值由0变为255,然后作为待处理的目标,进行二值化ROI图像连通区域标记,保留面积最大二值化ROI图像的连通区域。其它步骤及参数与具体实施方式一相同。

具体实施方式三:本实施方式与具体实施方式一或二不同的是:步骤四中得到保留面积最大的二值化ROI图像的连通区域过程为:

(1)ROI图像分别投影到横坐标和纵坐标上;

(2)投影到横坐标的最小值的像素点对应的二值化ROI图像的最大连通区域最左边的像素点;

(3)投影到横坐标的最大值的像素点对应为二值化ROI图像的最大连通区域最右的像素点;

(4)投影到纵坐标最小值的像素点对应为二值化ROI图像的最大连通区域最下边的像素点;

(5)投影到纵坐标最大值的像素点对应为二值化ROI图像的最大连通区域最上边的像素点;

(6)最大连通区域最左边、最右边、最上边和最下边的像素点连接成四条边界线,将边界线每边都向外扩展10个像素点,将最左边像素点的列坐标减10,最右边像素点的列坐标加10,最上边像素点的行坐标减10,最下边像素点的行坐标加10;扩展后的最大连通区域作为后续计算的ROI;像素点的大小和选的相机、镜头有关;图像处理中,一个像素点即相当于二维矩阵中的一个元素。其它步骤及参数与具体实施方式一或二相同。

具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:保留面积最大的二值化ROI图像的连通区域标记算法可以采用两遍扫描法实现:

步骤一、将二值化ROI图像进行第一遍扫描,获取二值化ROI图像像素点临时标号;

(1)按连通4邻域(4邻域坐标为(x-1,y)(x+1,y)(x,y-1)(x,y+1))或连通8邻域规则,以连通8邻域规则为例,根据8邻域规则标记图像中全部像素点的临时连通区域标号,得到二值化ROI图像像素点的临时连通域标号矩阵;设某二值化ROI图像像素点(x,y),其临时连通区域标号为label(x,y),其中8邻域坐标为(x-1,y)、(x+1,y)、(x,y-1)、(x,y+1)、(x-1,y-1)、(x-1,y+1)、(x+1,y-1)和(x+1,y+1);

(2)从二值化ROI图像的左上角开始扫描,即从储存图像像素的矩阵的0行0列开始扫描,从上到下,每一行从左到右扫描(和二维矩阵的扫描过程是一样的);当扫描到二值化ROI图像像素点(x,y)时,已完成了(x,y)像素点上边邻接的像素点和(x,y)像素点左边邻接的像素点的扫描,则已经确定了label(x-1,y)、label(x-1,y-1)、label(x-1,y+1)和label(x,y-1)的值;

(3)当坐标为(x,y)的像素点和相邻的像素点的值相同,则这些像素点被认为是连通的;如果像素点(x,y)和(x,y)上边的像素点(x-1,y)、(x-1,y-1)、(x-1,y+1)以及(x,y)左边的像素点(x,y-1)连通,则label(x,y)等于label(x-1,y)、label(x-1,y-1)、label(x-1,y+1)和label(x,y-1)当中最小的;

(4)如果像素点(x,y)和(x,y)上边的像素点和(x,y)左边的像素点都不连通,且像素点(x,y)的灰度值为255,则增加一个新的临时连通区域;即计数器NumberOfRegion加1,然后将新的NumberOfRegion作为像素点(x,y)的临时连通标号,即label(x,y)=NumberOfRegion;

步骤二、将第一遍扫描得到的临时连通域标号label值矩阵进行第二遍扫描,用等价连通域标号标记各临时标号所属的共同连通域;获得临时连通域标号所属的等价连通区域标号;

(1)由于4邻域和8邻域的模板核过小,无法一次正确标记所有的目标,会有大量等价标号存在,其中等价标号为对于具有不同临时标号的连通区域,其可能也是连通的,那么这些临时标号就是等价的;扫描二值化ROI图像像素点的临时连通域标号矩阵,对于二值化ROI图像像素点的临时连通域标号矩阵中的像素点(x,y),扫描二值化ROI图像像素点的临时连通域标号矩阵,对于二值化ROI图像像素点的临时连通域标号矩阵中的像素点(x,y),若在二值化ROI图像像素点(x,y)的灰度值为255,则在像素点(x,y)的上边和左边的像素点(x-1,y-1)、(x-1,y)、(x-1,y+1)和(x,y-1)中找到灰度值也为255的像素点,并找到灰度值为255的像素点当中最小的等价连通标号,将最小的等价连通标号作为找到的灰度值为255的像素点的等价连通区域标号;

(2)若像素点(x,y)灰度值为255,且像素点(x,y)和(x,y)上边的像素点、(x,y)左边的像素点不具有连通性质,则增加一个新的等价连通区域标号,并将像素点(x,y)的等价连通区域标号等于这个新的等价连通区域标号;

(3)扫描完成后,所有像素点的连通区域标号都正确标记,将次序混乱的等价连通标号重新定序,确保目标连通域标号连续;

(4)将具有等价连通域标号的连通域合并后,矩阵中的像素点(x,y)的等价连通域标号为最终所得的目标连通域标号;

(5)计算每个二值化ROI图像的连通区域的面积,找到最大的连通区域的面积作为目标Mark点的连通区域;即完成了保留面积最大二值化ROI图像的连通区域。其它步骤及参数与具体实施方式一至三之一相同。

具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:步骤六中根据步骤四和五中得到的二值化ROI图像的最大连通区域和二值化ROI图像背景的最大连通区域,设计噪声滤波器的主要过程为:

(1)由步骤四获得的二值化ROI图像的最大连通区域,能有效的去除Mark点目标外部的干扰;选择结构元素尺寸为3×3的掩膜矩阵,对二值化ROI图像的最大连通区域进行膨胀操作,使二值化ROI图像的最大连通区域向外拓展,拓展的宽度和选择的结构元素有关;

选择3×3的掩膜矩阵,像素点(x,y)的8邻域构成的矩阵,作为结构元素,膨胀操作可以定义为:

像素点(x,y)的8邻域内存在灰度值为255的像素点,则像素点(x,y)的灰度值为f(x,y)=255;若像素点(x,y)的8邻域内全是灰度值为0的像素点,则f(x,y)=0;

选择结构元素尺寸为3×3的掩膜矩阵作为结构元素,使二值化图像中的灰度值为255的区域的边界向外拓展一个像素点;

(2)由步骤五得到的二值化ROI图像背景的最大连通区域,即二值化ROI图像背景反色后的最大连通区域,能有效去除Mark点目标内部的干扰,选择和(1)同样的结构元素进行膨胀操作,使反色后的背景外轮廓的边界都向外扩展一个像素点,其中反色后的背景灰度值由f(x,y)=0变为f(x,y)=255,目标Mark点灰度值由f(x,y)=255变为f(x,y)=0,由于反色后的背景外轮廓的边界都向外扩展一个像素点,而目标Mark点不进行扩展,相对于扩展后的背景,Mark点是向内部拓展的;

(3)两次膨胀结果的交集为Mark点的轮廓带,Mark点的轮廓带为得到的噪声滤波器。其它步骤及参数与具体实施方式一至四之一相同。

具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:步骤八中获取最小外接矩形的算法初始化的主要过程为:

(1)寻找包含所有由步骤七得到的经过初次滤波Canny边缘点的一个凸包;

(2)利用凸包的顶点生成顶点向量表,顶点向量表为凸包每个顶点到下一个点之间的向量;

(3)新创建的估计矩形的初始旋转角度为0或90度,使得新创建的估计矩形与坐标系平行;

(4)初始化凸包的估计顶点,一般选择凸包最外侧的上、下、左、右的四个点。其它步骤及参数与具体实施方式一至五之一相同。

具体实施方式七:本实施方式与具体实施方式一至六之一不同的是:初始化凸包的估计顶点,一般选择凸包最外侧的上、下、左、右的四个点重复执行以下步骤:

(1)当前估计矩形中有两条边分别与Canny边缘相邻估计顶点形成的向量相邻,并且当前估计矩形中有两条边分别与Canny边缘相邻估计顶点形成的向量形成夹角,计算夹角的度数,以夹角最小的顶点向量为新的矩形边长所在的的方向向量;

(2)以新的矩形边长所在的的方向向量的两个端点作两条垂线首先与Canny边缘相交于一点的点为矩形的第三个端点,根据边长所在的的方向向量的两个端点和第三个端点建立新的估计矩形,计算当前估计矩形的面积,若该面积比之前的记录更小,则更新记录并储存当前矩形方位;根据估计矩形边的方向和边缘上的点的坐标确定新的估计矩形;

(3)若所有相邻的顶点向量都经过迭代计算达到估计矩形的面积最小值,执行(4),否则,找到矩形边上的四个顶点为新的估计顶点,重复执行(1)、(2);

(4)提取面积最小矩形的中心,旋转角度和长、宽等参数。其它步骤及参数与具体实施方式一至六之一相同。

具体实施方式八:本实施方式与具体实施方式一至七之一不同的是:步骤九中对步骤八得到的最小外接矩形包含的初次滤波后的Canny边缘再次进行滤波的主要过程为:

根据步骤八得到的最小外接矩形,对Mark点是否严重缺陷进行初步估计;若实际矩形的长和宽的差大于设定的阈值,则说明该Mark点存在比较严重的缺陷,若实际矩形的的长和宽的差小于设定的阈值,最小外接矩形能得到一个粗略的圆,圆心(x0,y0)取矩形中心,半径r取矩形长宽的均值;用该圆对边缘再次滤波,保留满足以下公式的边缘点:

>|(x-x0)2+(y-y0)2-r|E...(1)>

其中,(x,y)为初次滤波后的Canny边缘点的坐标,E为滤波的阈值,一般取2个像素。其它步骤及参数与具体实施方式一至七之一相同。

具体实施方式九:本实施方式与具体实施方式一至八之一不同的是:步骤十中对步骤九中再次过滤的边缘进行最小二乘拟合,得到最终Mark点的中心位置参数和半径参数的主要过程为:

根据圆的一般方程:

x2+y2+ax+by+c=0…………………………(2)

其中,x,y为得到最终Mark边缘点坐标,参数a,b,c为最小二乘圆的参数;

对于圆形Mark点的边缘点集的残差平方和为E(a,b,c),边缘点集用于最小二乘拟合的点:

>E(a,b,c)=Σϵi2=Σ(xi2+yi2+axi+byi+c)2...(3)>

其中为圆形Mark点的边缘点集的残差平方和,xi,yi为圆形Mark点第i个边缘点坐标;

根据最小二乘原理,当E(a,b,c)最小时,因此将公式(3)分别对a,b,c求偏导,并令个偏导为0,可得到三个方程,

>E(a,b,c)a=Σ2(xi2+yi2+axi+byi+c)xi=0···(4)>

>E(a,b,c)b=Σ2(xi2+yi2+axi+byi+c)yi=0···(5)>

>E(a,b,c)c=Σ2(xi2+yi2+axi+byi+c)=0···(6)>

求解此方程组即可得到参数a,b,c,得到圆的方程后,可求得最终圆形Mark点的圆心,最终圆形Mark点的半径参数。其它步骤及参数与具体实施方式一至八之一相同。

采用以下实施例验证本发明的有益效果:

步骤一、步骤一、计算目标Mark点的ROI区域,其中ROI区域为目标感兴趣区域;

实际采集的Mark点的完整图像如图2所示;

步骤二、将步骤一中得到的ROI图像采用Canny算子进行边缘检测,得到目标Mark点的边缘;

步骤三、对步骤一中得到的ROI内的图像采用Otsu算法获取图像自适应阈值,并以此阈值进行二值化,得到二值化ROI图像如图3所示,并将二值化ROI图像进行反色得到二值化ROI图像的背景,其中Otsu为最大类间差法或大津算法;

将二值化图像进行反色得到二值化图像的背景的具体过程为:

二值化ROI图像进行反色的背景灰度值由0变为255,然后作为待处理的目标,进行二值化ROI图像连通区域标记,保留面积最大二值化ROI图像的连通区域;

步骤四、对步骤三得到的二值化ROI图像进行连通区域标记,并保留面积最大的二值化ROI图像的连通区域如图4所示;

保留面积最大的二值化ROI图像的连通区域过程为:

(1)ROI图像分别投影到横坐标和纵坐标上;

(2)投影到横坐标的最小值的像素点对应的二值化ROI图像的最大连通区域最左边的像素点;

(3)投影到横坐标的最大值的像素点对应为二值化ROI图像的最大连通区域最右的像素点;

(4)投影到纵坐标最小值的像素点对应为二值化ROI图像的最大连通区域最下边的像素点;

(5)投影到纵坐标最大值的像素点对应为二值化ROI图像的最大连通区域最上边的像素点;

(6)最大连通区域最左边、最右边、最上边和最下边的像素点连接成四条边界线,将边界线每边都向外扩展10个像素点,将最左边像素点的列坐标减10,最右边像素点的列坐标加10,最上边像素点的行坐标减10,最下边像素点的行坐标加10;扩展后的最大连通区域作为后续计算的ROI;像素点的大小和选的相机、镜头有关;图像处理中,一个像素点即相当于二维矩阵中的一个元素;

保留面积最大的二值化ROI图像的连通区域标记算法可以采用两遍扫描法实现:

一、将二值化ROI图像进行第一遍扫描,获取二值化ROI图像像素点临时标号;

(1)按连通4邻域(4邻域坐标为(x-1,y)(x+1,y)(x,y-1)(x,y+1))或连通8邻域规则,以连通8邻域规则为例,根据8邻域规则标记图像中全部像素点的临时连通区域标号,得到二值化ROI图像像素点的临时连通域标号矩阵;设某二值化ROI图像像素点(x,y),其临时连通区域标号为label(x,y),其中8邻域坐标为(x-1,y)、(x+1,y)、(x,y-1)、(x,y+1)、(x-1,y-1)、(x-1,y+1)、(x+1,y-1)(x+1,y+1);

(2)从二值化ROI图像的左上角开始扫描,即从储存图像像素的矩阵的0行0列开始扫描,从上到下,每一行从左到右扫描(和二维矩阵的扫描过程是一样的);当扫描到二值化ROI图像像素点(x,y)时,已完成了(x,y)像素点上边邻接的像素点和(x,y)像素点左边邻接的像素点的扫描,则已经确定了label(x-1,y)、label(x-1,y-1)、label(x-1,y+1)和label(x,y-1)的值;

(3)当坐标为(x,y)的像素点和相邻的像素点的值相同,则这些像素点被认为是连通的;如果像素点(x,y)和(x,y)上边的像素点(x-1,y)、(x-1,y-1)、(x-1,y+1)以及(x,y)左边的像素点(x,y-1)连通,则label(x,y)等于label(x-1,y)、label(x-1,y-1)、label(x-1,y+1)和label(x,y-1)当中最小的;

(4)如果像素点(x,y)和(x,y)上边的像素点和(x,y)左边的像素点都不连通,且像素点(x,y)的灰度值为255,则增加一个新的临时连通区域;即计数器NumberOfRegion加1,然后将新的NumberOfRegion作为像素点(x,y)的临时连通标号,即label(x,y)=NumberOfRegion;

二、将第一遍扫描得到的临时连通域标号label值矩阵进行第二遍扫描,用等价连通域标号标记各临时标号所属的共同连通域;获得临时连通域标号所属的等价连通区域标号;

(1)由于4邻域和8邻域的模板核过小,无法一次正确标记所有的目标,会有大量等价标号存在,其中等价标号为对于具有不同临时标号的连通区域,其可能也是连通的,那么这些临时标号就是等价的;扫描二值化ROI图像像素点的临时连通域标号矩阵,对于二值化ROI图像像素点的临时连通域标号矩阵中的像素点(x,y),扫描二值化ROI图像像素点的临时连通域标号矩阵,对于二值化ROI图像像素点的临时连通域标号矩阵中的像素点(x,y),若在二值化ROI图像像素点(x,y)的灰度值为255,则在像素点(x,y)的上边和左边的像素点(x-1,y-1)、(x-1,y)、(x-1,y+1)和(x,y-1)中找到灰度值也为255的像素点,并找到灰度值为255的像素点当中最小的等价连通标号,将最小的等价连通标号作为找到的灰度值为255的像素点的等价连通区域标号;

(2)若像素点(x,y)灰度值为255,且像素点(x,y)和(x,y)上边的像素点、(x,y)左边的像素点不具有连通性质,则增加一个新的等价连通区域标号,并将像素点(x,y)的等价连通区域标号等于这个新的等价连通区域标号;

(3)扫描完成后,所有像素点的连通区域标号都正确标记,将次序混乱的等价连通标号重新定序,确保目标连通域标号连续;

(4)将具有等价连通域标号的连通域合并后,矩阵中的像素点(x,y)的等价连通域标号为最终所得的目标连通域标号;

(5)计算每个二值化ROI图像的连通区域的面积,找到最大的连通区域的面积作为目标Mark点的连通区域;即完成了保留面积最大二值化ROI图像的连通区域;

步骤五、对步骤三得到的二值化ROI图像的背景进行连通区域标记,同样保留面积最大二值化ROI图像的背景连通区域;

步骤六、根据步骤四和五中得到的二值化ROI图像的最大连通区域和二值化ROI图像背景的最大连通区域,设计噪声滤波器的过程为:

(1)由步骤四获得的二值化ROI图像的最大连通区域,能有效的去除Mark点目标外部的干扰;选择结构元素尺寸为3×3的掩膜矩阵,对二值化ROI图像的最大连通区域进行膨胀操作,使二值化ROI图像的最大连通区域向外拓展,拓展的宽度和选择的结构元素有关;

选择3×3的掩膜矩阵,像素点(x,y)的8邻域构成的矩阵,作为结构元素,膨胀操作可以定义为:

像素点(x,y)的8邻域内存在灰度值为255的像素点,则像素点(x,y)的灰度值为f(x,y)=255;若像素点(x,y)的8邻域内全是灰度值为0的像素点,则f(x,y)=0;

选择结构元素尺寸为3×3的掩膜矩阵作为结构元素,使二值化图像中的灰度值为255的区域的边界向外拓展一个像素点;

(2)由步骤五得到的二值化ROI图像背景的最大连通区域,即二值化ROI图像背景反色后的最大连通区域,能有效去除Mark点目标内部的干扰,选择和(1)同样的结构元素进行膨胀操作,使反色后的背景外轮廓的边界都向外扩展一个像素点,其中反色后的背景灰度值由f(x,y)=0变为f(x,y)=255,目标Mark点灰度值由f(x,y)=255变为f(x,y)=0,由于反色后的背景外轮廓的边界都向外扩展一个像素点,而目标Mark点不进行扩展,相对于扩展后的背景,Mark点是向内部拓展的;

(3)两次膨胀结果的交集为Mark点的轮廓带,Mark点的轮廓带为得到的噪声滤波器如图5;

步骤七、由步骤六得到的噪声滤波器对步骤二中的Canny边缘进行初次滤波,去除Canny边缘中干扰区域的边缘和噪声点,从而得到经过初次滤波的Canny边缘点,其中Canny边缘包括目标Mark点的边缘及可能存在的干扰的边缘,得到经过初次滤波前后的Canny边缘点示意图如图6、图7所示;

步骤八、通过基于凸包提取的算法来寻找步骤七经初次滤波后的Canny边缘点的最小外接矩形如图8所示,使最小外接矩形能全部包含步骤七初次滤波后的Canny边缘点;

获取最小外接矩形的算法初始化的主要过程为:

1、寻找包含所有由步骤七得到的经过初次滤波Canny边缘点的一个凸包;

2、利用凸包的顶点生成顶点向量表,顶点向量表为凸包每个顶点到下一个点之间的向量;

3、新创建的估计矩形的初始旋转角度为0或90度,使得新创建的估计矩形与坐标系平行;

4、初始化凸包的估计顶点,一般选择凸包最外侧的上、下、左、右的四个点;

初始化凸包的估计顶点,一般选择凸包最外侧的上、下、左、右的四个点重复执行以下步骤:

(1)当前估计矩形中有两条边分别与Canny边缘相邻估计顶点形成的向量相邻,并且当前估计矩形中有两条边分别与Canny边缘相邻估计顶点形成的向量形成夹角,计算夹角的度数,以夹角最小的顶点向量为新的矩形边长所在的的方向向量;

(2)以新的矩形边长所在的的方向向量的两个端点作两条垂线首先与Canny边缘相交于一点的点为矩形的第三个端点,根据边长所在的的方向向量的两个端点和第三个端点建立新的估计矩形,计算当前估计矩形的面积,若该面积比之前的记录更小,则更新记录并储存当前矩形方位;根据估计矩形边的方向和边缘上的点的坐标确定新的估计矩形;

(3)若所有相邻的顶点向量都经过迭代计算达到估计矩形的面积最小值,执行(4),否则,找到矩形边上的四个顶点为新的估计顶点,重复执行(1)、(2);

(4)提取面积最小矩形的中心,旋转角度和长、宽等参数;所选的坐标系是以图像左上角为原点,x正方向为水平向右,y正方向为水平向左;提取到的最小外接矩形如图8中所示的矩形,其中心坐标为(192,192);长为256像素,宽为255像素;角度-68度;从该最小外接矩形的长和宽可以看出,该圆形Mark的变形不大;

步骤九、对步骤八得到的最小外接矩形包含的初次滤波后的Canny边缘点再次进行滤波,去除由于可能由焊锡污染或者发生氧化等原因产生的如图9所示的缺陷;再次滤波的主要过程为:

根据步骤八得到的最小外接矩形,对Mark点是否严重缺陷进行初步估计;若实际矩形的的长和宽的差大于设定的阈值,则说明该Mark点存在比较严重的缺陷,若实际矩形的的长和宽的差小于设定的阈值,最小外接矩形能得到一个粗略的圆,圆心(x0,y0)取矩形中心,半径r取矩形长宽的均值;用该圆对边缘再次滤波,保留满足以下公式的边缘点:

>|(x-x0)2+(y-y0)2-r|E...(1)>

其中,(x,y)为初次滤波后的Canny边缘点的坐标,E为滤波的阈值,本实例中取取2个像素

步骤十、对步骤九中再次过滤的Canny边缘进行最小二乘拟合得到最小二乘圆形Mark点的参数,根据最小二乘圆形Mark点的参数得到最终圆形Mark点的中心位置参数和半径参数主要过程为:

根据圆的一般方程:

x2+y2+ax+by+c=0…………………………(2)

其中,x,y为得到最终Mark边缘点坐标,参数a,b,c为最小二乘圆的参数

对于圆形Mark点的边缘点集的残差平方和为E(a,b,c),边缘点集用于最小二乘拟合的点:

>E(a,b,c)=Σϵi2=Σ(xi2+yi2+axi+byi+c)2...(3)>

其中为圆形Mark点的边缘点集的残差平方和,xi,yi为圆形Mark点第i个边缘点坐标;

根据最小二乘原理,当E(a,b,c)最小时,,因此将公式(3)分别对a,b,c求偏导,并令个偏导为0,可得到三个方程,

>E(a,b,c)a=Σ2(xi2+yi2+axi+byi+c)xi=0···(4)>

>E(a,b,c)b=Σ2(xi2+yi2+axi+byi+c)yi=0···(5)>

>E(a,b,c)c=Σ2(xi2+yi2+axi+byi+c)=0···(6)>

求解此方程组即可得到参数a,b,c,得到圆的方程后,可求得最终圆形Mark点的圆心,最终圆形Mark点的半径参数;求解此方程组即可得到参数a=-382.46,b=-385.48,c=57484.66代入圆的方程(2)后,可求得圆心,半径参数如图10;圆心坐标为(191.23,192.74),半径为127.41像素;

本发明在设计滤波器的过程中,对于连通区域标记过程仅需要两次扫描图像即可,运行时间和计算机有关,本发明所用的计算机配置为:Intel(R)Core(TM)i3CPU,主频2.4GHz,2GB内存;完全满足工业实时性的要求;而使用Hough圆变换来定位的方法所花的时间是秒级的;并且,本发明也能有效的抑制干扰,具有很强的鲁棒性。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号