一种基于外轮廓的pcb板卡匹配方法及装置的制造方法_3

文档序号:9506826阅读:来源:国知局
2就是表示第1、2个截距区间的范围。
[0113] 步骤S234、从i = 0递增在{CJ中找到第一个峰值所对应的截距B1,从i = N递 减在IA}中找到第一个峰值所对应的截距民,则Bn B玳表所述PCB板卡的两个同向边缘 (图5显示为PCB板卡的两个水平边缘)与X轴/Y轴(图5显示为Y轴)的截距;
[0114] 步骤S235、设置da, = da+90°,将da,代入上述公式(3)中,并重复上述步骤,从 而得到所述PCB板卡的另外两个同向边缘与X轴/Y轴的截距B u、Bb。
[0115] 在步骤S3中,具体通过以下步骤计算所述目标图像中所述PCB板卡的至少两个顶 点的坐标:
[0116] 基于得到的PCB板卡的每个边缘所述目标图像的平面坐标系的X轴或Y轴之间 的夹角和截距,可以得到四条直线,分别为:Ll(d。,B 1), L2(d。,B上L3(da+90°,Bu)和 L4(da+90°,Bb),四条直线相交得到四个顶点p。,P1, p2, p3;
[0117] 通过以下计算方法得到所述四个顶点中的至少两个顶点的坐标:
[0118] LI :y = tar^Ox+Bp L3 :y =七&]1((1。+9。)1+1^,解一个二元一次方程组,得到交点 Po坐标:
[0119] ((B1- B u)/(tan(da+90) - tan(da)),(tan(da) * Bu- tan(d α+90) * B1)/ (tan(da+90) - tan(da)))
[0120] 依次类推得到后面的交点:
[0121] p1: ((B 广 B b)/(tan(da+90) - tan(da)),(tan(da) * Bb- tan(d a+90) * B1)/ (tan(da+90) - tan(da)))
[0122] p2: ((B a - B u)/(tan(da+90) - tan(da)),(tan(da) * Bu- tan(d a+90) * Ba)/ (tan(da+90) - tan(da)))
[0123] p3: ((B a - B b)/(tan(da+90) - tan(da)),(tan(da) * Bb- tan(d a+90) * Ba)/ (tan (d a+EJ 一 tan (d a))) 〇
[0124] 在步骤S4中,通过以下步骤得到所述标准图像到所述目标图像的仿射变换矩阵:
[0125] 假设所述标准图像中所述PCB板卡的是(pM,P(]2, P(]3, pM),所述目标图像中所述 PCB板卡的对应的四个顶点是(pn,p12, p13, p14),假设所述标准图像到所述目标图像的绽放 系数k,旋转角度是a,及平移量是dx,dy。则仿射变换矩阵是:
[0127] 那么,所述标准图像中的顶点到所述目标图像的对应顶点变换过程是:
[0129] 将所述目标图像中任意两个顶点的坐标以及预设的标准图像中对应两个顶点的 坐标代入公式(7)解出k,a,dx,dy。
[0130] 需要说明的是,所述目标图像中所述PCB板卡的对应的四个顶点是(pn,p 12, p13, P14)为通过上述步骤得到的四个顶点(PwPpPyP3)。同样的,为了提高精确度,所述标准图 像中所述PCB板卡的四个顶点是(p M,P(J2, ρ〇3, P(J4)也可以通过本实施例的步骤Sl S3计 算得到。
[0131] 在所述步骤S5中,当通过公式(6)~(7)计算得到所述仿射变换矩阵后,通过将 所述仿射变换矩阵与所述标准图像相乘,即可得到所述配准图像。在得到配准图像后,即可 将所述配准图像与所述目标图像进行一一对应进行匹配,从而检测出所述目标图像中是否 包含瑕疵点。
[0132] 参考图9,本实施例对应公开了一种基于外轮廓的PCB板卡匹配装置,包括:
[0133] 边缘信息检测模块91,用于检测目标图像中所有的边缘信息;
[0134] 直线信息获取模块92,用于获取所述边缘信息中的直线信息;
[0135] PCB边缘信息获取模块93,基于所述直线信息计算获得PCB边缘信息,所述PCB边 缘信息包括所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹 角和截距;
[0136] 顶点计算模块94,基于所述PCB边缘信息计算得到所述目标图像中所述PCB板卡 的至少两个顶点的坐标;
[0137] 仿射变换矩阵计算模块95,基于所述目标图像中所述PCB板卡的至少两个顶点中 的任意两个顶点的坐标以及预设的标准图像中所述PCB板卡的对应两个顶点的坐标,计算 得到所述标准图像到所述目标图像的仿射变换矩阵;
[0138] 匹配模块96,基于所述仿射变换矩阵与所述标准图像得到配准图像,并将所述配 准图像与所述目标图像进行匹配。
[0139] 具体的,所述PCB边缘信息获取模块93通过以下步骤计算得到所述PCB边缘信息 中所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的夹角:
[0140] 计算所述直线信息中所有直线的方向,得到直线的倾斜角度集合{Di},其中,{Di} 中的每一个直线的倾斜角度范围是〇~180° ;
[0141] 利用下列公式(1)、(2)计算得到所述PCB板卡的任一边缘与所述目标图像的平面 坐标系的X轴或Y轴之间的夹角d a:
[0144] 其中,a为变量,a的取值范围是0~180° ;da表示与{Di}中的所有直线的倾斜 角度夹角最小的角度;i = 1,2, 3…M,M为所述直线信息中所有直线的总数量;
[0145] 所述PCB板卡的其余三个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的 夹角分别为:d a,da+90°,da+90°。
[0146] 另外,所述PCB边缘信息获取模块93通过以下步骤计算得到所述PCB边缘信息中 所述PCB板卡的每个边缘与所述目标图像的平面坐标系的X轴或Y轴之间的截距:
[0147] 遍历所述直线信息中的所有直线,通过公式(3)计算得到与所述PCB板卡的任一 边缘同向的直线集合{Mi}:
[0148] (M1IM1G {LJ,IK1-Cla I < ε } (3)
[0149] 其中,{Li}为所述直线信息中的所有直线集合;Ki为直线Li的倾斜角;ε为{Li} 中的直线与所述PCB板卡的任一边缘方向的最小夹角;
[0150] 假设直线集合{Mi}与X轴/Y轴的截距为{Bi},设:
[0151] Bmax= max {B J , Bmin= min {B J (4)
[0152] 将区间等分成N个子区间,则ΔΒ = 则第i个区间Ai的 范围是:
[0153] A1= [Βηιη+ΔΒ*(?-1), Bnin+(ΔΒ*?)] (5)
[0154] 在公式⑷、(5)中,Β_为{Bi}中的最大值,{Bi}中的最小值;ΔΒ为每个 截距区间的大小;
[0155] 对{Bi}中所有的截距进行区间统计,得到{CJ,0 <= i <= Ν,ΙΑ}表示截距落 在第i个区间的个数;
[0156] 从i = 0递增在{CJ中找到第一个峰值所对应的截距B1,从i = N递减在{CJ中 找到第一个峰值所对应的截距^,则Bn B1^代表所述PCB板卡的两个同向边缘与X轴/Y轴 的截距;
[0157] 设置da, = da+90°,将da,代入上述公式⑶中,并重复上述步骤,从而得到所述 PCB板卡的另外两个同向边缘与X轴/Y轴的截距Bu、Bb。
[0158] 具体的,所述顶点计算模块94通过以下步骤计算所述目标图像中所述PCB板卡的 至少两个顶点的坐标:
[0159] 基于得到的PCB板卡的每个边缘所述目标图像的平面坐标系的X轴或Y轴之间 的夹角和截距,可以得到四条直线,分别为:Ll(d。,B 1), L2(d。,B上L3(da+90°,Bu)和 L4(da+90°,bb),四条直线相交得到四个顶点p。,P1, p2, p3;
[0160] 通过以下计算方法得到所述四个顶点中的至少两个顶点的坐标:
[0161] LI :y = tar^Ox+Bp L3 :y =七&]1((1。+9。)1+1^,解一个二元一次方程组,得到交点 Po坐标:
[0162] (沉一 B u)/(tan(da+90) - tan(da)),(tan(da) * Bu - tan(d α+90) * B1)/ (tan(da+90) - tan(da)))
[0163] 依次类推得到后面的交点:
[0164] p1: ((B 厂 B b)/(tan(da+90) - tan(da)),(tan(da) * Bb- tan(d a+90) * B1)/ (tan(da+90) - tan(da)))
[0165] p2: ((B a - B u)/(tan(da+9。) 一 tan(da)),(tan(da) * Bu- tan(d a+9。) * Ba)/ (tan(da+90) - tan(da)))
[0166] p3: ((B a - B b)/(tan(da+9。) 一 tan(da)),(tan(da) * Bb- tan(d a+9。) * Ba)/ (tan (d a+EJ 一 tan (d a))) 〇
[0167] 具体的,所述仿射变换矩阵计算模块95通过以下步骤得到所述标准图像到所述 目标图像的仿射变换矩阵:
[0168] 假设所述标准图像中所述PCB板卡的四个顶点是(pM,P(]2, P(]3, pM),所述目标图像 中所述PCB板卡的对应的四个顶点是(pn,p12, p13, p14),假设所述标准图像到
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1