CN105261022B - 一种基于外轮廓的pcb板卡匹配方法及装置 - Google Patents

一种基于外轮廓的pcb板卡匹配方法及装置 Download PDF

Info

Publication number
CN105261022B
CN105261022B CN201510679957.8A CN201510679957A CN105261022B CN 105261022 B CN105261022 B CN 105261022B CN 201510679957 A CN201510679957 A CN 201510679957A CN 105261022 B CN105261022 B CN 105261022B
Authority
CN
China
Prior art keywords
axis
target image
tan
pcb
pcb board
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510679957.8A
Other languages
English (en)
Other versions
CN105261022A (zh
Inventor
廖明熙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Shiyuan Electronics Thecnology Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN201510679957.8A priority Critical patent/CN105261022B/zh
Publication of CN105261022A publication Critical patent/CN105261022A/zh
Priority to PCT/CN2016/096751 priority patent/WO2017067321A1/zh
Application granted granted Critical
Publication of CN105261022B publication Critical patent/CN105261022B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Quality & Reliability (AREA)

Abstract

本发明公开了一种基于外轮廓的PCB板卡匹配方法,包括步骤:检测目标图像中所有的边缘信息,并获取所述边缘信息中的直线信息;基于所述直线信息计算获得PCB边缘信息;基于所述PCB边缘信息计算得到所述目标图像中所述PCB板卡的至少两个顶点的坐标;基于所述目标图像中所述PCB板卡的至少两个顶点中的任意两个顶点的坐标以及预设的标准图像中所述PCB板卡的对应两个顶点的坐标,计算得到所述标准图像到所述目标图像的仿射变换矩阵;基于所述仿射变换矩阵与所述标准图像得到配准图像,并将所述配准图像与所述目标图像进行匹配。

Description

一种基于外轮廓的PCB板卡匹配方法及装置
技术领域
本发明涉及图像识别与工业视觉检测领域,尤其涉及一种基于外轮廓的PCB板卡匹配方法及装置。
背景技术
印制电路板(PCB:Printed Circuit Boards)是电子设备中最基本的组成环节,是电子元器件的支撑体,其质量对于电子产品的性能起着举足轻重的作用,其质量的检测对PCB生产至关重要。
传统基于人工目测PCB瑕疵检测方法无法满足PCB发展的需要。自动光学检测(AOI:Automated optical inspection)技术目前是国内外主流的PCB瑕疵检测。在所有AOI技术中,需要定位准确PCB图片位置,这个过程又称为图像配准。
图像配准算法大致可分为两类:基于区域的方法和基于特征的方法。
基于区域的方法也称为类相关法或模板匹配法。该方法一般不需要对图像进行复杂的预处理,只利用两幅图像的某种统计信息作为相似性判别标准,采用适当的搜索算法得到令相似性判别标准最大化的图像转换形式,以达到图像配准的目的。主要特点是实现比较简单,但应用范围较窄,不能直接用于校正图像的非线性形变,而且在最优变换的搜索过程中运算量较大。
基于特征的图像配准算法借助图像中具有的显著特征结构,将其作为标志位,分别在参考图像和待匹配图像中提取出它们,然后再找到两幅图像标志位之间的匹配关系,继而完成空间对位。基于特征的配准方法由于提取了图像的显著特征,大大压缩了图像信息的数据量,同时较好地保持了图像的位移、旋转、比例方面的特征,配准时计算量小,速度较快,应用也更为广泛。图像的显著特征有很多,如点特征(包括角点、高曲率点等)、直线段、边缘、轮廓、闭合区域特征等。
在基于特征的图像配准算法中,点特征是常用的特征,而其中,角点是最常用的特征点。然而,现有的角点检测方法一般依赖于图像的梯度的计算,因而易受噪声及光照变化的影响,而且梯度的计算实际是使用差分来近似,检测出的角点位置往往偏离真实的角点位置,精度不高,无法满足PCB检测这种对精度要求较高的场合。
在基于特征的图像配准算法中,边缘或轮廓也是常用特征。然而,在离散化的数字图像中,边缘或轮廓点的精确定位并非易事。通过一般的边缘检测算子检测出的目标边缘往往并不闭合,存在许多的断点,经常需要后续边缘连接处理。通过轮廓跟踪算法得到的目标轮廓往往有很多的锯齿状部分。边缘片段和锯齿轮廓的出现影响图像配准的精度。
另外,在现有技术基于特征的图像配准算法中需要遍历每个像素,导致计算速度慢,降低匹配效率。
发明内容
本发明实施例的目的是提供一种基于外轮廓的PCB板卡匹配方法及装置,精度高,且计算速度快,能够有效提高匹配效率。
本发明实施例提供了一种基于外轮廓的PCB板卡匹配方法,包括步骤:
检测目标图像中所有的边缘信息,并获取所述边缘信息中的直线信息;
基于所述直线信息计算获得PCB边缘信息;
基于所述PCB边缘信息计算得到所述目标图像中所述PCB板卡的至少两个顶点的坐标;
基于所述目标图像中所述PCB板卡的至少两个顶点中的任意两个顶点的坐标以及预设的标准图像中所述PCB板卡的对应两个顶点的坐标,计算得到所述标准图像到所述目标图像的仿射变换矩阵;
基于所述仿射变换矩阵与所述标准图像得到配准图像,并将所述配准图像与所述目标图像进行匹配。
作为上述方案的改进,所述PCB边缘信息包括所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角和截距。
作为上述方案的改进,采用Canny算子检测所述目标图像中所有的边缘信息,采用Hough变换进行直线检测以获取所述边缘信息中的直线信息。
在本发明一个实施例中,通过以下步骤计算得到所述PCB边缘信息中所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角:
计算所述直线信息中所有直线的方向,得到直线的倾斜角度集合{Di},其中,{Di}中的每一个直线的倾斜角度范围是0~180°;
利用下列公式计算得到所述PCB板卡的任一边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角dα
其中,a为变量,a的取值范围是0~180°;dα表示与{Di}中的所有直线的倾斜角度夹角最小的角度;i=1,2,3…M,M为所述直线信息中所有直线的总数量;
所述PCB板卡的其余三个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角分别为:dα,dα+90°,dα+90°。
在本发明另一个实施例中,通过以下步骤计算得到所述PCB边缘信息中所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角:
计算所述直线信息中所有直线的方向,得到直线的倾斜角度集合{Di},其中,{Di}中的每一个直线的倾斜角度范围是0~180°;
利用下列公式计算得到所述PCB板卡的任一边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角dα
其中,a为变量,a的取值范围是0~180°;dα表示与{Di}中的所有直线的倾斜角度夹角最小的角度;i=1,2,3…M,M为所述直线信息中所有直线的总数量;
所述PCB板卡的其余三个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角分别为:dα,dα+90°,dα+90°。
作为上述方案的改进,通过以下步骤计算得到所述PCB边缘信息中所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的截距:
遍历所述直线信息中的所有直线,通过以下公式计算得到与所述PCB板卡的任一边缘同向的直线集合{Mi}:
{Mi|Mi∈{Li},|Ki-dα|<ε}
其中,{Li}为所述直线信息中的所有直线集合;Ki为直线Li的倾斜角;ε为{Li}中的直线与所述PCB板卡的任一边缘方向的最小夹角;
假设直线集合{Mi}与X轴/Y轴的截距为{Bi},设:
Bmax=max{Bi},Bmin=min{Bi}
将区间[Bmin,Bmax]等分成N个子区间,则ΔB={Bmax-Bmin}/N,则第i个区间Ai的范围是:
Ai=[Bmin+ΔB*(i-1),Bmin+(ΔB*i)]
其中,Bmax为{Bi}中的最大值,Bmin为{Bi}中的最小值;ΔB为每个截距区间的大小;
对{Bi}中所有的截距进行区间统计,得到{Ci},0<=i<=N,{Ci}表示截距落在第i个区间的个数;
从i=0递增在{Ci}中找到第一个峰值所对应的截距Bl,从i=N递减在{Ci}中找到第一个峰值所对应的截距Br,则Bl、Br代表所述PCB板卡的两个同向边缘与X轴/Y轴的截距;
设置da′=da+90°,将da=da′-90°代入上述公式中,并重复上述步骤,从而得到所述PCB板卡的另外两个同向边缘与X轴/Y轴的截距Bu、Bb
作为上述方案的改进,通过以下步骤计算所述目标图像中所述PCB板卡的至少两个顶点的坐标:
基于得到的PCB板卡的每个边缘所述目标图像的平面坐标系的X轴或Y轴之间的夹角和截距,得到四条直线,分别为:L1(dα,Bl),L2(dα,Br),L3(dα+90°,Bu)和L4(dα+90°,Bb),四条直线相交得到四个顶点p0,p1,p2,p3
通过以下计算方法得到所述四个顶点中的至少两个顶点的坐标:
L1:y=tan(dα)x+Bl,L3:y=tan(dα+90)x+Bu,解一个二元一次方程组,得到交点p0坐标:
((Bl-Bu)/(tan(dα+90)-tan(dα)),(tan(dα)*Bu-tan(dα+90)*Bl)/(tan(dα+90)-tan(dα)))
依次类推得到后面的交点:
p1:((Bl-Bb)/(tan(dα+90)-tan(dα)),(tan(dα)*Bb-tan(dα+90)*Bl)/(tan(dα+90)-tan(dα)))
p2:((Bα-Bu)/(tan(dα+90)-tan(dα)),(tan(dα)*Bu-tan(dα+90)*Bα)/(tan(dα+90)-tan(dα)))
p3:((Bα-Bb)/(tan(dα+90)-tan(dα)),(tan(dα)*Bb-tan(dα+90)*Bα)/(tan(dα+90)-tan(dα)))。
作为上述方案的改进,通过以下步骤得到所述标准图像到所述目标图像的仿射变换矩阵:
假设所述标准图像中所述PCB板卡的四个顶点是(p01,p02,p03,p04),所述目标图像中所述PCB板卡的对应的四个顶点是(p11,p12,p13,p14),假设所述标准图像到所述目标图像的绽放系数k,旋转角度是α,及平移量是dx,dy。则仿射变换矩阵是:
那么,所述标准图像中的顶点到所述目标图像的对应顶点变换过程是:
将所述目标图像中任意两个顶点的坐标以及预设的标准图像中对应两个顶点的坐标代入上述公式解出k,α,dx,dy。
作为上述方案的改进,将所述仿射变换矩阵与所述标准图像相乘,得到所述配准图像。
本发明实施例对应提供了一种基于外轮廓的PCB板卡快速匹配装置,包括:
边缘信息检测模块,用于检测目标图像中所有的边缘信息;
直线信息获取模块,用于获取所述边缘信息中的直线信息;
PCB边缘信息获取模块,基于所述直线信息计算获得PCB边缘信息;
顶点计算模块,基于所述PCB边缘信息计算得到所述目标图像中所述PCB板卡的至少两个顶点的坐标;
仿射变换矩阵计算模块,基于所述目标图像中所述PCB板卡的至少两个顶点中的任意两个顶点的坐标以及预设的标准图像中所述PCB板卡的对应两个顶点的坐标,计算得到所述标准图像到所述目标图像的仿射变换矩阵;
匹配模块,基于所述仿射变换矩阵与所述标准图像得到配准图像,并将所述配准图像与所述目标图像进行匹配。
与现有技术相比,本发明实施例公开的一种基于外轮廓的PCB板卡匹配方法及装置通过充分利用PCB板卡本身的信息(PCB板卡上充满了与PCB板卡边缘平行的直线信息),通过获取这些直线信息来确定PCB板卡边缘信息,从而得到PCB板卡的至少两个顶点的坐标,并通过此计算方法分别得到标准图像和目标图像中PCB板卡的至少两个顶点的坐标,将所述至少两个顶点中的任意两个顶点标定作为局部特征点来计算得到标准图像到所述目标图像的仿射变换矩阵,从而得到配准图像以对目标图像进行匹配。由于特征点的计算不需要遍历每个像素,因此计算速度大大加快,从而提高匹配效率。
附图说明
图1是本发明实施例中一种基于外轮廓的PCB板卡匹配方法的流程示意图。
图2~图5显示利用本发明实施例中一种基于外轮廓的PCB板卡匹配方法对图像进行处理的过程示意图。
图6是图1中的步骤S2的一个实施例的具体流程图。
图7是图1中的步骤S2的另一个实施例的具体流程图。
图8是图1中的步骤S2的再一个实施例的具体流程图。
图9是本发明实施例中一种基于外轮廓的PCB板卡匹配装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明实施例提供的一种基于外轮廓的PCB板卡匹配方法的结构示意图。该方法包括步骤:
S1、检测目标图像中所有的边缘信息,并获取所述边缘信息中的直线信息;
S2、基于所述直线信息计算获得PCB边缘信息;
其中,所述PCB边缘信息包括所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角和截距;
S3、基于所述PCB边缘信息计算得到所述目标图像中所述PCB板卡的至少两个顶点的坐标;
S4、基于所述目标图像中所述PCB板卡的至少两个顶点中的任意两个顶点的坐标以及预设的标准图像中所述PCB板卡的对应两个顶点的坐标,计算得到所述标准图像到所述目标图像的仿射变换矩阵;
S5、基于所述仿射变换矩阵与所述标准图像得到配准图像,并将所述配准图像与所述目标图像进行匹配。
具体的,在实施步骤S1时,如图2所示,所述目标图像100带有PCB板卡200的图像信息,具体的,所述目标图像100是利用摄像头对PCB板卡拍摄得到。在得到所述目标图像100后,可以采用Canny算子检测所述目标图像100中所有的边缘信息,然后采用Hough变换进行直线检测以获取所述边缘信息中的直线信息,得到直线集合{Li}。另外,在实施步骤S1前,还可以先对所述目标图像进行高斯滤波处理,进行高斯滤波的主要目的是为了平滑目标图像,使目标图像的噪声更低,更有利于检测边缘信息。
在步骤S2中,主要是基于获得的直线集合{Li}来计算得到所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角和截距。可以理解的,所述目标图像的平面坐标系与生成所述目标图像的摄像机的平面坐标系的坐标系是一致的。而且,所述目标图像为矩形,所述目标图像的边缘与所述平面坐标系的X轴、Y轴平行或垂直。在本实施例中,通过构建目标图像的平面坐标系后,将所述目标图像的水平边缘与所述平面坐标系的X轴平行,而将所述目标图像的垂直边缘与所述平面坐标系的Y轴平行。
下面,分别对如何得到所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角和截距。
在直线集合{Li}中,根据PCB板卡本身的特性,直线集合{Li}中所有直线的方向大部分情况下是与PCB板卡的边缘平行的,如图3所示,因此只要统计直线集合中最多的方向,则可以得到PCB板卡的边缘方向(即PCB板卡的边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角,也叫倾斜角或者是PCB的转换角度)。
参考图6,在一个优选的实施例中,通过以下步骤计算得到所述PCB边缘信息中所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角:
步骤S211、计算所述直线信息中所有直线的方向,得到直线的倾斜角度集合{Di},其中,{Di}中的每一个直线的倾斜角度范围是0~180°;
步骤S212、利用下列公式(1)、(2)计算得到所述PCB板卡的任一边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角dα
其中,a为变量,a的取值范围是0~180°;dα表示与{Di}中的所有直线的倾斜角度夹角最小的角度;i=1,2,3…M,M为所述直线信息中所有直线的总数量;
步骤S213、所述PCB板卡的其余三个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角分别为:dα,dα+90°,dα+90°。
参考图7,在另一个优选的实施例中,通过以下步骤计算得到所述PCB边缘信息中所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角:
步骤S221、计算所述直线信息中所有直线的方向,得到直线的倾斜角度集合{Di},其中,{Di}中的每一个直线的倾斜角度范围是0~180°;
步骤S222、利用下列公式(1)、(2)计算得到所述PCB板卡的任一边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角dα
其中,a为变量,a的取值范围是0~180°;dα表示与{Di}中的所有直线的倾斜角度夹角最小的角度;i=1,2,3…M,M为所述直线信息中所有直线的总数量;
步骤S223、所述PCB板卡的其余三个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角分别为:dα,dα+90°,dα+90°。
通过图6或图7的步骤可得到所述PCB板卡的任一边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角dα,如图4所示,其中,图4中显示的是PCB板卡的水平边缘与所述目标图像的平面坐标系的X轴之间的夹角dα
参考图8,本实施例可以通过以下步骤计算得到所述PCB边缘信息中所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的截距:
步骤S231、遍历所述直线信息中的所有直线,通过公式(3)计算得到与所述PCB板卡的任一边缘同向的直线集合{Mi}:
{Mi|Mi∈{Li},|Ki-dα|<ε} (3)
其中,{Li}为所述直线信息中的所有直线集合;Ki为直线Li的倾斜角;ε为{Li}中的直线与所述PCB板卡的任一边缘方向的最小夹角;
步骤S232、假设直线集合{Mi}与X轴/Y轴的截距为{Bi},设:
Bmax=max{Bi},Bmin=min{Bi} (4)
将区间[Bmin,Bmax]等分成N个子区间,则ΔB={Bmax-Bmin}/N,则第i个区间Ai的范围是:
Ai=[Bmin+ΔB*(i-1),Bmin+(ΔB*i)] (5)
在公式(4)、(5)中,Bmax为{Bi}中的最大值,Bmin为{Bi}中的最小值;ΔB为每个截距区间的大小;
步骤S233、对{Bi}中所有的截距进行区间统计,得到{Ci},1<=i<=N-1,{Ci}表示截距落在第i个区间的个数;
具体的,如图5所示,Bmin为{Bi}中的最小值,也就是直线集合{Mi}中的所有直线与X/Y轴(图5显示为Y轴)的最小截距值,Bmax为{Bi}中的最大值,也就是直线集合{Mi}中的所有直线与X/Y轴(图5显示为Y轴)的最大截距值,ΔB为每个截距区间的大小,图中A1、A2就是表示第1、2个截距区间的范围。
步骤S234、从i=0递增在{Ci}中找到第一个峰值所对应的截距Bl,从i=N递减在{Ci}中找到第一个峰值所对应的截距Br,则Bl、Br代表所述PCB板卡的两个同向边缘(图5显示为PCB板卡的两个水平边缘)与X轴/Y轴(图5显示为Y轴)的截距;
步骤S235、设置da′=da+90°,将da′代入上述公式(3)中,并重复上述步骤,从而得到所述PCB板卡的另外两个同向边缘与X轴/Y轴的截距Bu、Bb
在步骤S3中,具体通过以下步骤计算所述目标图像中所述PCB板卡的至少两个顶点的坐标:
基于得到的PCB板卡的每个边缘所述目标图像的平面坐标系的X轴或Y轴之间的夹角和截距,可以得到四条直线,分别为:L1(dα,Bl),L2(dα,Br),L3(dα+90°,Bu)和L4(dα+90°,Bb),四条直线相交得到四个顶点p0,p1,p2,p3
通过以下计算方法得到所述四个顶点中的至少两个顶点的坐标:
L1:y=tan(dα)x+Bl,L3:y=tan(dα+90)x+Bu,解一个二元一次方程组,得到交点p0坐标:
((Bl-Bu)/(tan(dα+90)-tan(dα)),(tan(dα)*Bu-tan(dα+90)*Bl)/(tan(dα+90)-tan(dα)))
依次类推得到后面的交点:
p1:((Bl-Bb)/(tan(dα+90)-tan(dα)),(tan(dα)*Bb-tan(dα+90)*Bl)/(tan(dα+90)-tan(dα)))
p2:((Bα-Bu)/(tan(dα+90)-tan(dα)),(tan(dα)*Bu-tan(dα+90)*Bα)/(tan(dα+90)-tan(dα)))
p3:((Bα-Bb)/(tan(dα+90)-tan(dα)),(tan(dα)*Bb-tan(dα+90)*Bα)/(tan(dα+90)-tan(dα)))。
在步骤S4中,通过以下步骤得到所述标准图像到所述目标图像的仿射变换矩阵:
假设所述标准图像中所述PCB板卡的是(p01,p02,p03,p04),所述目标图像中所述PCB板卡的对应的四个顶点是(p11,p12,p13,p14),假设所述标准图像到所述目标图像的绽放系数k,旋转角度是α,及平移量是dx,dy。则仿射变换矩阵是:
那么,所述标准图像中的顶点到所述目标图像的对应顶点变换过程是:
将所述目标图像中任意两个顶点的坐标以及预设的标准图像中对应两个顶点的坐标代入公式(7)解出k,α,dx,dy。
需要说明的是,所述目标图像中所述PCB板卡的对应的四个顶点是(p11,p12,p13,p14)为通过上述步骤得到的四个顶点(p0,p1,p2,p3)。同样的,为了提高精确度,所述标准图像中所述PCB板卡的四个顶点是(p01,p02,p03,p04)也可以通过本实施例的步骤S1 ̄S3计算得到。
在所述步骤S5中,当通过公式(6)~(7)计算得到所述仿射变换矩阵后,通过将所述仿射变换矩阵与所述标准图像相乘,即可得到所述配准图像。在得到配准图像后,即可将所述配准图像与所述目标图像进行一一对应进行匹配,从而检测出所述目标图像中是否包含瑕疵点。
参考图9,本实施例对应公开了一种基于外轮廓的PCB板卡匹配装置,包括:
边缘信息检测模块91,用于检测目标图像中所有的边缘信息;
直线信息获取模块92,用于获取所述边缘信息中的直线信息;
PCB边缘信息获取模块93,基于所述直线信息计算获得PCB边缘信息,所述PCB边缘信息包括所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角和截距;
顶点计算模块94,基于所述PCB边缘信息计算得到所述目标图像中所述PCB板卡的至少两个顶点的坐标;
仿射变换矩阵计算模块95,基于所述目标图像中所述PCB板卡的至少两个顶点中的任意两个顶点的坐标以及预设的标准图像中所述PCB板卡的对应两个顶点的坐标,计算得到所述标准图像到所述目标图像的仿射变换矩阵;
匹配模块96,基于所述仿射变换矩阵与所述标准图像得到配准图像,并将所述配准图像与所述目标图像进行匹配。
具体的,所述PCB边缘信息获取模块93通过以下步骤计算得到所述PCB边缘信息中所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角:
计算所述直线信息中所有直线的方向,得到直线的倾斜角度集合{Di},其中,{Di}中的每一个直线的倾斜角度范围是0~180°;
利用下列公式(1)、(2)计算得到所述PCB板卡的任一边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角dα
其中,a为变量,a的取值范围是0~180°;dα表示与{Di}中的所有直线的倾斜角度夹角最小的角度;i=1,2,3…M,M为所述直线信息中所有直线的总数量;
所述PCB板卡的其余三个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角分别为:dα,dα+90°,dα+90°。
另外,所述PCB边缘信息获取模块93通过以下步骤计算得到所述PCB边缘信息中所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的截距:
遍历所述直线信息中的所有直线,通过公式(3)计算得到与所述PCB板卡的任一边缘同向的直线集合{Mi}:
{Mi|Mi∈{Li},|Ki-dα|<ε} (3)
其中,{Li}为所述直线信息中的所有直线集合;Ki为直线Li的倾斜角;ε为{Li}中的直线与所述PCB板卡的任一边缘方向的最小夹角;
假设直线集合{Mi}与X轴/Y轴的截距为{Bi},设:
Bmax=max{Bi},Bmin=min{Bi} (4)
将区间[Bmin,Bmax]等分成N个子区间,则ΔB={Bmax-Bmin}/N,则第i个区间Ai的范围是:
Ai=[Bmin+ΔB*(i-1),Bmin+(ΔB*i)] (5)
在公式(4)、(5)中,Bmax为{Bi}中的最大值,Bmin为{Bi}中的最小值;ΔB为每个截距区间的大小;
对{Bi}中所有的截距进行区间统计,得到{Ci},0<=i<=N,{Ci}表示截距落在第i个区间的个数;
从i=0递增在{Ci}中找到第一个峰值所对应的截距Bl,从i=N递减在{Ci}中找到第一个峰值所对应的截距Br,则Bl、Br代表所述PCB板卡的两个同向边缘与X轴/Y轴的截距;
设置da′=da+90°,将da′代入上述公式(3)中,并重复上述步骤,从而得到所述PCB板卡的另外两个同向边缘与X轴/Y轴的截距Bu、Bb
具体的,所述顶点计算模块94通过以下步骤计算所述目标图像中所述PCB板卡的至少两个顶点的坐标:
基于得到的PCB板卡的每个边缘所述目标图像的平面坐标系的X轴或Y轴之间的夹角和截距,可以得到四条直线,分别为:L1(dα,Bl),L2(dα,Br),L3(dα+90°,Bu)和L4(dα+90°,bb),四条直线相交得到四个顶点p0,p1,p2,p3
通过以下计算方法得到所述四个顶点中的至少两个顶点的坐标:
L1:y=tan(dα)x+Bl,L3:y=tan(dα+90)x+Bu,解一个二元一次方程组,得到交点p0坐标:
((Bl-Bu)/(tan(dα+90)-tan(dα)),(tan(dα)*Bu-tan(dα+90)*Bl)/(tan(dα+90)-tan(dα)))
依次类推得到后面的交点:
p1:((Bl-Bb)/(tan(dα+90)-tan(dα)),(tan(dα)*Bb-tan(dα+90)*Bl)/(tan(dα+90)-tan(dα)))
p2:((Bα-Bu)/(tan(dα+90)-tan(dα)),(tan(dα)*Bu-tan(dα+90)*Bα)/(tan(dα+90)-tan(dα)))
p3:((Bα-Bb)/(tan(dα+90)-tan(dα)),(tan(dα)*Bb-tan(dα+90)*Bα)/(tan(dα+90)-tan(dα)))。
具体的,所述仿射变换矩阵计算模块95通过以下步骤得到所述标准图像到所述目标图像的仿射变换矩阵:
假设所述标准图像中所述PCB板卡的四个顶点是(p01,p02,p03,p04),所述目标图像中所述PCB板卡的对应的四个顶点是(p11,p12,p13,p14),假设所述标准图像到所述目标图像的绽放系数k,旋转角度是α,及平移量是dx,dy。则仿射变换矩阵是:
那么,所述标准图像中的顶点到所述目标图像的对应顶点变换过程是:
将所述目标图像中任意两个顶点的坐标以及预设的标准图像中对应两个顶点的坐标代入公式(7)解出k,α,dx,dy。
在所述仿射变换矩阵计算模块95通过公式(6)~(7)计算出所述仿射变换矩阵后,所述匹配模块96将所述仿射变换矩阵与所述标准图像得到配准图像,即可得到所述配准图像。在得到配准图像后,通过将所述配准图像与所述目标图像进行一一对应进行匹配,从而检测出所述目标图像中是否包含瑕疵点。
综上所述,本发明实施例公开的一种基于外轮廓的PCB板卡匹配方法及装置通过充分利用PCB板卡本身的信息(PCB板卡上充满了与PCB板卡边缘平行的直线信息),通过获取这些直线信息来确定PCB板卡边缘信息,从而得到PCB板卡的至少两个顶点的坐标,并通过此计算方法分别得到标准图像和目标图像中PCB板卡的至少两个顶点的坐标,将所述至少两个顶点中的任意两个顶点标定作为局部特征点来计算得到标准图像到所述目标图像的仿射变换矩阵,从而得到配准图像以对目标图像进行匹配。由于特征点的计算不需要遍历每个像素,因此计算速度大大加快,从而提高匹配效率。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (7)

1.一种基于外轮廓的PCB板卡匹配方法,其特征在于,包括步骤:
检测目标图像中所有的边缘信息,并获取所述边缘信息中的直线信息;
基于所述直线信息计算获得PCB边缘信息;
基于所述PCB边缘信息计算得到所述目标图像中所述PCB板卡的至少两个顶点的坐标;
基于所述目标图像中所述PCB板卡的至少两个顶点中的任意两个顶点的坐标以及预设的标准图像中所述PCB板卡的对应两个顶点的坐标,计算得到所述标准图像到所述目标图像的仿射变换矩阵;
基于所述仿射变换矩阵与所述标准图像得到配准图像,并将所述配准图像与所述目标图像进行匹配;
所述PCB边缘信息包括所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角和截距;
通过以下步骤计算得到所述PCB边缘信息中所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角:
计算所述直线信息中所有直线的方向,得到直线的倾斜角度集合{Di},其中,{Di}中的每一个直线的倾斜角度范围是0~180°;
利用下列公式计算得到所述PCB板卡的任一边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角dα
其中,a为变量,a的取值范围是0~180°;dα表示与{Di}中的所有直线的倾斜角度夹角最小的角度;i=1,2,3…M,M为所述直线信息中所有直线的总数量;
所述PCB板卡的其余三个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角分别为:dα,dα+90°,dα+90°;
或者,通过以下步骤计算得到所述PCB边缘信息中所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角:
计算所述直线信息中所有直线的方向,得到直线的倾斜角度集合{Di},其中,{Di}中的每一个直线的倾斜角度范围是0~180°;
利用下列公式计算得到所述PCB板卡的任一边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角dα
其中,a为变量,a的取值范围是0~180°;dα表示与{Di}中的所有直线的倾斜角度夹角最小的角度;i=1,2,3…M,M为所述直线信息中所有直线的总数量;
所述PCB板卡的其余三个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角分别为:dα,dα+90°,dα+90°。
2.根据权利要求1所述的一种基于外轮廓的PCB板卡匹配方法,其特征在于:采用Canny算子检测所述目标图像中所有的边缘信息,采用Hough变换进行直线检测以获取所述边缘信息中的直线信息。
3.根据权利要求1所述的一种基于外轮廓的PCB板卡匹配方法,其特征在于:通过以下步骤计算得到所述PCB边缘信息中所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的截距:
遍历所述直线信息中的所有直线,通过以下公式计算得到与所述PCB板卡的任一边缘同向的直线集合{Mi}:
{Mi|Mi∈{Li},|Ki-dα|<ε}
其中,{Li}为所述直线信息中的所有直线集合;Ki为直线Li的倾斜角;ε为{Li}中的直线与所述PCB板卡的任一边缘方向的最小夹角;
假设直线集合{Mi}与X轴/Y轴的截距为{Bi},设:
Bmax=max{Bi},Bmin=min{Bi}
将区间[Bmin,Bmax]等分成N个子区间,则ΔB={Bmax-Bmin}/N,则第i个区间Ai的范围是:
Ai=Bmin+ΔB*i-1),Bmin+(ΔB*i)]
其中,Bmax为{Bi}中的最大值,Bmin为{Bi}中的最小值;ΔB为每个截距区间的大小;
对{Bi}中所有的截距进行区间统计,得到{Ci},0<=i<=N,{Ci}表示截距落在第i个区间的个数;
从i=0递增在{Ci}中找到第一个峰值所对应的截距Bl,从i=N递减在{Ci}中找到第一个峰值所对应的截距Br,则Bl、Br代表所述PCB板卡的两个同向边缘与X轴/Y轴的截距;
设置da′=da+90°,将da=da′-90°代入上述公式中,并重复上述步骤,得到所述PCB板卡的另外两个同向边缘与X轴/Y轴的截距Bu、Bb
4.根据权利要求3所述的一种基于外轮廓的PCB板卡匹配方法,其特征在于:通过以下步骤计算所述目标图像中所述PCB板卡的至少两个顶点的坐标:
基于得到的PCB板卡的每个边缘所述目标图像的平面坐标系的X轴或Y轴之间的夹角和截距,得到四条直线,分别为:L1(dα,Bl),L2(dα,Br),L3(dα+90°,Bu)和L4(dα+90°,Bb),四条直线相交得到四个顶点p0,p1,p2,p3
通过以下计算方法得到所述四个顶点中的至少两个顶点的坐标:
L1:y=tan(dα)x+Bl,L3:y=tan(dα+90)x+Bu,解一个二元一次方程组,得到交点p0坐标:
((Bl-Bu)/(tan(dα+90)-tan(dα)),(tan(dα)*Bu-tan(dα+90)*Bl)/(tan(dα+90)-tan(dα)))
依次类推得到后面的交点:
p1:((Bl-Bb)/(tan(dα+90)-tan(dα)),(tan(dα)*Bb-tan(dα+90)*Bl)/(tan(dα+90)-tan(dα)))
p2:((Bα-Bu)/(tan(dα+90)-tan(dα)),(tan(dα)*Bu-tan(dα+90)*Bα)/(tan(dα+90)-tan(dα)))
p3:((Bα-Bb)/(tan(dα+90)-tan(dα)),(tan(dα)*Bb-tan(dα+90)*Bα)/(tan(dα+90)-tan(dα)))。
5.根据权利要求4所述的一种基于外轮廓的PCB板卡匹配方法,其特征在于,通过以下步骤得到所述标准图像到所述目标图像的仿射变换矩阵:
假设所述标准图像中所述PCB板卡的四个顶点是(p01,p02,p03,p04),所述目标图像中所述PCB板卡的对应的四个顶点是(p11,p12,p13,p14),假设所述标准图像到所述目标图像的绽放系数k,旋转角度是α,及平移量是dx,dy,则仿射变换矩阵是:
那么,所述标准图像中的顶点到所述目标图像的对应顶点变换过程是:
将所述目标图像中任意两个顶点的坐标以及预设的标准图像中对应两个顶点的坐标代入上述公式解出k,α,dx,dy。
6.根据权利要求5所述的一种基于外轮廓的PCB板卡匹配方法,其特征在于,将所述仿射变换矩阵与所述标准图像相乘,得到所述配准图像。
7.一种基于外轮廓的PCB板卡快速匹配装置,其特征在于,包括:
边缘信息检测模块,用于检测目标图像中所有的边缘信息;
直线信息获取模块,用于获取所述边缘信息中的直线信息;
PCB边缘信息获取模块,基于所述直线信息计算获得PCB边缘信息;
顶点计算模块,基于所述PCB边缘信息计算得到所述目标图像中所述PCB板卡的至少两个顶点的坐标;
仿射变换矩阵计算模块,基于所述目标图像中所述PCB板卡的至少两个顶点中的任意两个顶点的坐标以及预设的标准图像中所述PCB板卡的对应两个顶点的坐标,计算得到所述标准图像到所述目标图像的仿射变换矩阵;
匹配模块,基于所述仿射变换矩阵与所述标准图像得到配准图像,并将所述配准图像与所述目标图像进行匹配;
所述PCB边缘信息包括所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角和截距;
通过以下步骤计算得到所述PCB边缘信息中所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角:
计算所述直线信息中所有直线的方向,得到直线的倾斜角度集合{Di},其中,{Di}中的每一个直线的倾斜角度范围是0~180°;
利用下列公式计算得到所述PCB板卡的任一边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角dα
其中,a为变量,a的取值范围是0~180°;dα表示与{Di}中的所有直线的倾斜角度夹角最小的角度;i=1,2,3…M,M为所述直线信息中所有直线的总数量;
所述PCB板卡的其余三个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角分别为:dα,dα+90°,dα+90°。
CN201510679957.8A 2015-10-19 2015-10-19 一种基于外轮廓的pcb板卡匹配方法及装置 Active CN105261022B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510679957.8A CN105261022B (zh) 2015-10-19 2015-10-19 一种基于外轮廓的pcb板卡匹配方法及装置
PCT/CN2016/096751 WO2017067321A1 (zh) 2015-10-19 2016-08-25 一种基于外轮廓的pcb板卡匹配方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510679957.8A CN105261022B (zh) 2015-10-19 2015-10-19 一种基于外轮廓的pcb板卡匹配方法及装置

Publications (2)

Publication Number Publication Date
CN105261022A CN105261022A (zh) 2016-01-20
CN105261022B true CN105261022B (zh) 2018-12-18

Family

ID=55100694

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510679957.8A Active CN105261022B (zh) 2015-10-19 2015-10-19 一种基于外轮廓的pcb板卡匹配方法及装置

Country Status (2)

Country Link
CN (1) CN105261022B (zh)
WO (1) WO2017067321A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105261022B (zh) * 2015-10-19 2018-12-18 广州视源电子科技股份有限公司 一种基于外轮廓的pcb板卡匹配方法及装置
CN107967679B (zh) * 2017-11-21 2020-07-03 凌云光技术集团有限责任公司 一种基于pcb产品矢量图形的自动选取定位核的方法
CN109581189A (zh) * 2018-11-28 2019-04-05 江门市利诺达电路科技有限公司 一种小尺寸电路板的制作方法
CN109347985A (zh) * 2018-12-03 2019-02-15 群蜂信息技术(上海)有限公司 一种基于边缘计算的多业务处理方法、装置及边缘服务器
CN109614059B (zh) * 2018-12-19 2023-01-10 森大(深圳)技术有限公司 Gerber文件处理方法、装置及计算机可读存储介质
CN110070528B (zh) * 2019-04-18 2023-04-21 天津工业大学 一种应用于模具镶块工件加工在线定位的二维检测方法
CN111199563B (zh) * 2019-11-22 2023-03-14 华南理工大学 基于改进霍夫变换算法的单晶硅太阳能晶片图像定位方法
CN113450299A (zh) * 2020-03-09 2021-09-28 深圳中科飞测科技股份有限公司 图像匹配方法、计算机装置及可读存储介质
CN113989312B (zh) * 2021-11-10 2024-04-09 佛山市南海区广工大数控装备协同创新研究院 一种基于形状上下文特征的不规则pcb板轮廓匹配的方法
CN114322775B (zh) * 2022-01-06 2022-11-11 深圳威洛博机器人有限公司 一种机器人视觉定位系统及视觉定位方法
CN114612537A (zh) * 2022-03-29 2022-06-10 新智认知数据服务有限公司 数字孪生图像与真实图像配准方法、设备及可读存储介质
CN114565612B (zh) * 2022-04-29 2022-07-05 惠州威尔高电子有限公司 一种基于图像对比的pcb板u型槽加工异常检测方法
CN115546219B (zh) * 2022-12-05 2023-10-20 广州镭晨智能装备科技有限公司 检测板式生成方法、板卡缺陷检测方法、装置及产品
CN117670887B (zh) * 2024-02-01 2024-04-09 湘潭大学 一种基于机器视觉的锡焊高度及缺陷检测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102937595A (zh) * 2012-11-13 2013-02-20 浙江省电力公司电力科学研究院 一种pcb板检测方法、装置及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4454428B2 (ja) * 2004-07-30 2010-04-21 富士通株式会社 部品エッジ検出方法、部品エッジ検出プログラム及び検査装置
CN102034101B (zh) * 2010-10-22 2014-11-05 广东工业大学 一种pcb视觉检测中快速圆形标志定位方法
CN102721364B (zh) * 2011-03-30 2015-12-02 比亚迪股份有限公司 一种工件的定位方法及其装置
CN104408735B (zh) * 2014-12-12 2017-07-14 电子科技大学 一种基于改进形状角计算的矩形区域识别方法
CN104981105B (zh) * 2015-07-09 2018-07-13 广东工业大学 一种快速精确获得元件中心和偏转角度的检测及纠偏方法
CN105261022B (zh) * 2015-10-19 2018-12-18 广州视源电子科技股份有限公司 一种基于外轮廓的pcb板卡匹配方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102937595A (zh) * 2012-11-13 2013-02-20 浙江省电力公司电力科学研究院 一种pcb板检测方法、装置及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
一种非线性失真的PCB图像配准方法;郭峰林 等;《安徽大学学报(自然科学版)》;20131130;第37卷(第6期);全文 *
基于机器视觉的PCB裸板缺陷自动检测方法;杨庆华 等;《中国机械工程》;20121130;第23卷(第22期);第2-3节 *
基于视觉传感器的PCB缺陷检测系统的研究与实现;马灿 等;《计算机技术与应用》;20121231;第38卷(第6期);全文 *
贴片电阻表面缺陷自动识别方法;何萍 等;《光子学报》;20130630;第42卷(第6期);全文 *

Also Published As

Publication number Publication date
CN105261022A (zh) 2016-01-20
WO2017067321A1 (zh) 2017-04-27

Similar Documents

Publication Publication Date Title
CN105261022B (zh) 一种基于外轮廓的pcb板卡匹配方法及装置
US12094152B2 (en) Method for fully automatically detecting chessboard corner points
CN110068270B (zh) 一种基于多线结构光图像识别的单目视觉箱体体积测量方法
US11900634B2 (en) Method for adaptively detecting chessboard sub-pixel level corner points
He et al. Sparse template-based 6-D pose estimation of metal parts using a monocular camera
CN108122256B (zh) 一种逼近状态下旋转目标位姿测量的方法
CN105654421B (zh) 基于变换不变低秩纹理的投影变换图像匹配方法
CN110189375B (zh) 一种基于单目视觉测量的图像目标识别方法
CN110956661B (zh) 基于双向单应矩阵的可见光与红外相机动态位姿计算方法
CN111738320B (zh) 基于模板匹配的遮挡工件识别方法
CN103902953B (zh) 一种屏幕检测系统及方法
CN113160285B (zh) 一种基于局部深度图像关键性的点云匹配方法
CN111223078B (zh) 瑕疵等级判定的方法及存储介质
CN108416787A (zh) 应用于机器视觉检测的工件直线边缘定位方法
CN103778436A (zh) 一种基于图像处理的行人姿态检测方法
CN108182705A (zh) 一种基于机器视觉的三维坐标定位方法
CN113222990A (zh) 一种基于图像数据增强的芯片计数方法
CN106529548A (zh) 亚像素级的多尺度Harris角点检测算法
CN107895166B (zh) 基于特征描述子的几何哈希法实现目标鲁棒识别的方法
CN110519508B (zh) 一种在摄像模组自动调心过程中识别特征对象的方法
CN113705564B (zh) 一种指针式仪表识别读数方法
Han et al. Target positioning method in binocular vision manipulator control based on improved canny operator
CN104484647B (zh) 一种高分辨率遥感图像云高度检测方法
CN112419224B (zh) 一种球形引脚芯片定位方法及系统
Wang et al. Target recognition and localization of mobile robot with monocular PTZ camera

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant