一种基于机器视觉的快速亚像素边缘检测与定位方法

文档序号:6626991阅读:411来源:国知局
一种基于机器视觉的快速亚像素边缘检测与定位方法
【专利摘要】本发明公开了一种基于机器视觉的快速亚像素边缘检测与定位方法,包括以下步骤:步骤1:获取检测图像;步骤2:图像去噪预处理:步骤3:计算每个像素点水平方向上的梯度Gx和垂直方向上的梯度Gy;步骤4:计算每个像素点极坐标下的梯度幅值G0和梯度方向Gθ;步骤5:确定每个像素点的邻域像素点;步骤6:确定像素级边缘点;步骤7:计算每个像素级边缘点在8分梯度方向上的亚像素边缘点到该像素级边缘点的距离;步骤8:计算实际梯度方向Gθ上的亚像素边缘点到像素级边缘点的距离d;步骤9:采用余弦查找表法计算其实际梯度方向Gθ上的亚像素边缘点的直角坐标,进而实现图像边缘点的检测和亚像素级定位。整个方法计算精度高、速度快。
【专利说明】一种基于机器视觉的快速亚像素边缘检测与定位方法

【技术领域】
[0001] 本发明属于机器视觉图像处理【技术领域】,涉及一种基于机器视觉的快速亚像素边 缘检测与定位方法。

【背景技术】
[0002] 在电子制造生产线PCB板的机器视觉质量检测和分拣系统中,图像处理是一个非 常重要的环节。在视觉引导上料的过程中,需要获取上料台的实时图像,采用快速准确的图 像处理算法,进行目标识别,获得PCB板的数量、位置、姿态等信息;在质量检测过程中,采 用图像拼接技术,快速获取PCB板的尺寸、偏移等信息并对粘贴在PCB板上的条形码进行缺 陷检测,再根据检测数据标记结果;在视觉引导下料分拣的过程中,又需要对传送装置上的 PCB板进行目标识别。所用的图像处理算法的快速精确与否,将直接影响整个系统的工作效 率和可靠性。
[0003] 边缘存在于图像的不规则结构和不平稳现象中,也即存在于信号的突变点处,往 往携带着图像的大部分信息。这些边缘点能够给出目标轮廓的位置,而这些轮廓常常包含 着我们在图像处理时所感兴趣目标的重要特征,是形状目标检测的基础,同时也是图像分 割所依赖的重要特征,为人们描述或识别目标提供了重要的特征信息。边缘检测是图像处 理领域中最基本的问题,也是经典的技术难题之一,它的解决对于进行高层次的特征提取、 特征描述、目标识别和图像理解等有着重大的影响。因此,边缘检测在图像分割、模式识别、 计算机视觉等众多方面都有着非常重要的地位。
[0004] 在电子制造生产线PCB板的机器视觉质量检测和分拣系统中,要实现实时视觉引 导上料、分拣,快速精确的边缘检测与定位算法,对提高采用模板匹配的目标识别速度和准 确度有着至关重要的作用。在质量检测过程中,基于图像拼接的尺寸测量的检测速度和精 度,也在很大程度上依赖于边缘检测与定位的速度和精度。
[0005] 边缘检测的实质是通过一些算法来提取图像中灰度不连续的边缘像素,而传统边 缘检测算法是观察图像的每个像素在某个区域内灰度的变化,如Sobel算子、Laplacian算 子和Robert算子等,形式简单,易于实现,但定位精度差,只有一个像素级的精度,实际上, 边缘的位置存在于像素的任何位置,随着工业检测等对精度要求的不断提高,传统的边缘 检测算法已经不能满足实际需要。
[0006] 要提高图像测量系统的测量精度,可以从两个方面入手。一方面可以从硬件方面 入手,如选用高分辨率的摄像机,采用频率较高的图像卡,提高传感器的分辨率等,然而,用 提高的硬件性能来提高测量精度的方法代价较高,难度较大;另一方面可以利用目标的成 像特性,采用亚像素定位技术提高测量定位的精度,如果用软件方法将图像上的特征目标 定位在亚像素级别,就相当于提高了测量系统精度。这种方法简单、有效且成本低廉。因此, 亚像素技术具有十分重要的理论意义和实践意义。
[0007] 目前国内外研究的亚像素边缘检测理论与技术,在数学上可以归纳为插值法、拟 合法、矩方法等三种类型。与像素级边缘检测方法不同,由于其定位精度和计算速度的矛 盾,实现亚像素边缘检测,面临着以下主要技术难题:
[0008] (1)计算速度的要求。三种实现亚像素边缘检测的方法中,基于矩的方法包括基于 灰度矩的方法、基于空间矩的方法、质心法等,其中基于灰度矩和空间矩的方法能获得较高 的定位精度,但是由于其模板尺寸大,计算复杂等原因,计算速度相对较慢。
[0009] (2)定位精度的要求。基于插值的方法由于计算简单,在亚像素边缘检测中获得了 广泛的应用,这些插值方法包括线性插值法、二次抛物线插值法、三次样条插值法、高斯插 值法等。其中线性插值法、二次抛物线插值法、三次样条插值法计算速度较快,但定位精度 较低。由于高斯插值法中高斯函数最接近真实的边缘模型,因而其不仅计算速度快,且能获 得较高精度。


【发明内容】

[0010] 本发明针对上述问题提出了一种基于机器视觉的快速亚像素边缘检测与定位方 法,解决现有的PCB板的图像处理过程中检测定位精度低及处理速度慢的问题。
[0011] 本发明的技术解决方案如下:
[0012] 一种基于机器视觉的快速亚像素边缘检测与定位方法,包括以下步骤:
[0013] 步骤1 :获取待检测的PCB板图像:
[0014] 当电子制造生产线上的PCB板机器视觉质量检测与分拣系统运行时,获取待检测 PCB板图像;
[0015] 步骤2 :对待检测的PCB板图像进行灰度化处理与去噪操作,获得去噪图像:
[0016] 采用基于模板操作的自适应中值滤波方法去除噪声的干扰;
[0017] 步骤3 :计算去噪图像上每个像素点在水平方向上的直角水平梯度Gx和在垂直方 向上的直角垂直梯度Gy ;
[0018] 步骤4 :采用分象限的C0RDIC算法将每个像素点在直角坐标下的直角水平梯度Gx 和直角垂直梯度Gy分别转换为极坐标下的极角梯度幅值&和极角梯度方向Ge ;
[0019] 步骤5 :根据步骤4获得的每个像素点的极角梯度方向Ge,确定像素点在八分梯度 方向上的八分梯度邻域像素点P+和P-;
[0020] 所述八分梯度方向是指将每个像素点的邻域梯度方向划分成均匀的八个梯度方 向,每个梯度方向对应一个角度范围,当像素点的极角梯度方向角度落入某一八分梯度方 向的角度范围中,则当前八分梯度方向为该像素点的八分梯度方向;
[0021]

【权利要求】
1. 一种基于机器视觉的快速亚像素边缘检测与定位方法,其特征在于,包括以下步 骤: 步骤1 :获取待检测的PCB板图像: 步骤2 :对待检测的PCB板图像进行灰度化处理与去噪操作,获得去噪图像: 步骤3 :计算去噪图像上每个像素点在水平方向上的直角水平梯度Gx和在垂直方向上 的直角垂直梯度Gy ; 步骤4:采用分象限的CORDIC算法将每个像素点在直角坐标下的直角水平梯度Gx和直 角垂直梯度Gy分别转换为极坐标下的极角梯度幅值Gtl和极角梯度方向Ge ; 步骤5:根据步骤4获得的每个像素点的极角梯度方向Ge,确定像素点在八分梯度方向 上的八分梯度邻域像素点P+和P-; 所述八分梯度方向是指将每个像素点的邻域梯度方向划分成均匀的八个梯度方向,每 个梯度方向对应一个角度范围,当像素点的极角梯度方向角度落入某一八分梯度方向的角 度范围中,则当前八分梯度方向为该像素点的八分梯度方向;
步骤6 :对每个像素点以及其八分梯度邻域像素点,进行梯度邻域峰值检测和左右邻 域连接性判断,确定去噪图像中的像素级边缘点; 步骤7 :利用对数高斯函数插值法计算每个像素级边缘点在八分梯度方向上的理论亚 像素边缘点,并计算该理论亚像素边缘点到对应像素级边缘点的距离:T;
其中,G+和G_分别为像素级边缘点对应的八分梯度邻域像素点P+和P_的极角梯度幅 值; 步骤8 :计算每个理论亚像素边缘点在对应像素级边缘点极角梯度方向Ge上的实际亚 像素边缘点位置与到对应像素级边缘点的距离d,包括以下步骤: 首先,通过理论亚像素边缘点作到对应像素级边缘点极角梯度方向Ge所在直线的最 短距离点,作为实际亚像素边缘点; 然后,利用8分梯度方向上的理论亚像素边缘点到该像素级边缘点的距离r与极角梯 度方向Ge计算实际亚像素边缘点到像素级边缘点的距离d; 步骤9 :对每一个实际亚像素边缘点,利用实际亚像素边缘点的极角梯度方向Ge和到 对应像素级边缘点的距离d,计算实际亚像素边缘点的直角坐标位置,实现边缘检测与定 位。
2. 根据权利要求1所述的基于机器视觉的快速亚像素边缘检测与定位方法,其特征在 于,所述步骤3中每个像素点直角水平梯度Gx和直角垂直梯度Gy,是使用Sobel算子与去 噪图像中每个像素点进行卷积操作得到,采用以下公式表示: Gx =_g(x-1,y_l)+g(x-1,y+1) _2g(X,y_l) +2g(X,y+1)_g(x+1,y_l)+g(x+1,y+1) Gy =g(x-1,y_l)_g(x+1,y_l) +2g(x-1,y) _2g(x+1,y)+g(x-1,y+1)_g(x+1,y+1) 其中,g(x,y)为去噪图像的灰度函数,(x,y)表示像素点坐标;Gj^PGy均为16位二进 制数。
3. 根据权利要求2所述的基于机器视觉的快速亚像素边缘检测与定位方法,其特征在 于,所述步骤4中,采用分象限的CORDIC算法对每个像素点(x,y)在直角坐标下的水平梯 度Gx和垂直梯度Gy转换为极坐标下的梯度幅值Gtl和梯度方向Ge的具体过程如下: ① 确定梯度方向Ge所在的象限,包括以下步骤; 步骤a:记录Gy的最1?位即符号位A1和Gx的最1?位即符号位A2,A1 = 0表不Gy > 0,A1 = 1 表示Gy < 0,A2 = 0 表示Gx 彡 0,A2 = 1 表示Gx < 0 ; 步骤b:对Gy和Gx取绝对值,取Rtl =IGxI,Stl =IGyI,Rtl和Stl均为16位二进制数,将Rtl和Stl作为CORDIC算法的输入; 步骤c:根据A1A2确定像素点(x,y)所在的象限; ② 执行CORDIC算法,细化梯度方向,包括以下步骤: 步骤a:令i= 0, (Ii = 1,N= 6 ; 其中,i为迭代次数,(Ii为迭代方向控制位,N为迭代终止条件; 步骤b:Ri+1 =RJc^SiAi,Si+1 =Si-C^RiAi; 其中,为乘号;"》"表示逻辑右移运算,Si?i是指将Si右移i位,Ri和Si分别表 示第i次循环后得到的值; 步骤c:将Si+1的最高位记为符号位Bi+1,若Si+1彡0则Bi+1 = 1且令di+2 = 1,若Si+1〈0 贝IjBi+1 = 0 且令di+2 = -1 ; 步骤d:令i=i+1,若i〈N,返回步骤b,否则结束; ③ 将B1B2B3B4B5进行二进制编码,将二进制编码转化为0° -90°中对应的角度,即得到 |Gy| 和 |GX| 的夹角Z0 =arctan(|Gy|/|Gx|); ④ 根据A1A2对应的象限和Ze计算得到Ge ; ⑤ 计算梯度幅值Gtl :梯度幅值Gtl =K#R4,K为CORDIC算法中的校正因子,取K= 1。
4. 根据权利要求3所述的基于机器视觉的快速亚像素边缘检测与定位方法,其特征在 于,所述步骤6中像素级边缘点的确定过程如下: 步骤a:判断像素点(x,y)的梯度幅值Gtl是否大于下限阈值T1,若Gtl >T1,则转步骤b, 否则将像素点(x,y)标记为非边缘点,并结束本次判断并返回; 步骤b:判断像素点(x,y)的梯度幅值Gtl是否为局部极大值:即若Gtl >G_且Gtl彡G+, 则像素点(x,y)的梯度幅值Gtl是局部极大值,转步骤c,否则转步骤d; 其中,G+和G_分别为像素级边缘点对应的八分梯度邻域像素点P+和P_的极角梯度幅 值; 步骤c:判断像素点(x,y)的梯度幅值Gtl是否大于上限阈值T1 :若Gtl >Th,则将像素点 (x,y)标记为像素级边缘点P,否则转步骤d; 步骤d:判断像素点(x,y)的八分梯度左邻域像素点P_和八分梯度右邻域像素点P+是 否是已确定的像素级边缘点,若是,则确定像素点(X,y)为像素级边缘点,记为P,否则像素 点(x,y)为非像素级边缘点。
5. 根据权利要求1所述的基于机器视觉的快速亚像素边缘检测与定位方法,其特征在 于,所述步骤5中确定像素点在八分梯度方向上的八分梯度邻域像素点P+和P_的具体过程 如下: ① 获得像素点(X,y)梯度方向Ge的高四位G4h ; ② 将G4h的二进制编码,按照下表查找左右邻域像素位置的地址索引step,得到八分梯 度领域像素点的坐标;
其中,col为输入图像矩阵的列数。
6. 根据权利要求1所述的基于机器视觉的快速亚像素边缘检测与定位方法,其特征 在于,所述步骤8中实际亚像素边缘点位置与到对应像素级边缘点的距离d的计算方法如 下:
其中,0即为Ge对应的角度。
7. 根据权利要求6所述的基于机器视觉的快速亚像素边缘检测与定位方法,其特征在 于,所述亚像素级边缘点的直角坐标(xs,ys)的计算方法如下:
【文档编号】G06T7/00GK104268857SQ201410469840
【公开日】2015年1月7日 申请日期:2014年9月16日 优先权日:2014年9月16日
【发明者】王耀南, 李康军, 陈铁建, 吴成中, 冯明涛 申请人:湖南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1