pcb贴片元件定位方法、装置、设备及介质
技术领域
1.本技术实施例涉及但不限于自动化控制领域,尤其涉及pcb贴片元件定位方法、装置、 设备及介质。
背景技术:2.表面贴装技术工艺中需要对元器件进行定位,但是其中存在以下问题导致定位不准确: pcb基板颜色与元器件本体颜色相近导致边缘点无法完整提取,pcb基板上字符丝印以及相邻 的元器件的轮廓信息对于目标元器件会形成干扰。
技术实现要素:3.以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
4.本技术实施例提供了pcb贴片元件定位方法、装置、设备及介质。
5.本技术的第一方面的实施例,一种pcb贴片元件定位方法,包括:
6.获取pcb图像;
7.对所述pcb图像进行轮廓提取处理,得到焊点轮廓;
8.获取所述焊点轮廓的质心,根据所述焊点轮廓的质心和预设的约束条件确定所述目标元 器件所对应的多个目标焊点;
9.根据所述目标焊点的质心得到目标元器件的中心坐标;
10.获取多个所述目标焊点的边缘所对应的外接矩形的顶点坐标,根据所述顶点坐标确定所 述目标元器件的边缘的感兴趣区域;
11.获取所述感兴趣区域的像素点的灰度值,根据所述灰度值确定所述目标元器件的候选边 缘点;
12.从所述候选边缘点确定目标边缘点,根据所述目标边缘点拟合得到目标元器件的边缘;
13.根据所述目标元器件的中心坐标和所述目标元器件的边缘得到所述目标元器件的位置信 息。
14.本技术的第一方面的某些实施例,所述pcb图像是对位于aoi塔式光源下的pcb板拍摄 所得到的图像;所述对所述pcb图像进行轮廓提取处理,得到焊点轮廓,包括:
15.对所述pcb图像进行轮廓提取处理,得到第一候选轮廓;
16.获取第一候选轮廓的周长,根据所述第一候选轮廓的周长和预设的周长阈值确定第二候 选轮廓;
17.获取第二候选轮廓所包围区域的炫彩度量值,根据所述第二候选轮廓所包围区域的炫彩 度量值和预设的炫彩度阈值确定焊点轮廓。
18.本技术的第一方面的某些实施例,所述根据所述焊点轮廓的质心和预设的约束条件确定 所述目标元器件所对应的多个目标焊点,包括:
19.取任意三个所述焊点轮廓的质心,根据三个所述焊点轮廓的质心得到三条边;
20.当三条边满足所述约束条件,将三个所述焊点轮廓所对应的焊点作为所述目标焊点。
21.本技术的第一方面的某些实施例,所述约束条件为: 其中,a、b和c对应三条边,m为预设的常数 值。
22.本技术的第一方面的某些实施例,所述根据所述灰度值确定所述目标元器件的候选边缘 点,包括:
23.根据灰度值大小对所述感兴趣区域的每行像素点从大至小分别进行排序;
24.对每行像素点,将前k个像素点作为所述目标元器件的候选边缘点。
25.本技术的第一方面的某些实施例,所述从所述候选边缘点确定目标边缘点,包括:
26.遍历以下操作,得到多个边缘点集合:从所述候选边缘点选任意两个作为第一边缘点, 其他作为第二边缘点,由所述第一边缘点确定直线,由到直线的距离值小于预设的距离阈值 的第二边缘点作为第三边缘点,由所述第三边缘点组成边缘点集合;
27.计算所述边缘点集合中第三边缘点的数量值,将所述数量值最大的边缘点集合中的第三 边缘点作为目标边缘点。
28.本技术的第一方面的某些实施例,所述pcb贴片元件定位方法包括:
29.根据所述焊点轮廓的质心计算所述目标元器件的第一偏移角;
30.根据所述目标元器件的边缘计算所述目标元器件的第二偏移角;
31.根据所述第一偏移角和所述第二偏移角得到总偏移角;
32.根据所述总偏移角对所述pcb图像进行旋转。
33.本技术的第二方面的实施例,一种pcb贴片元件定位装置,包括:
34.图像获取模块,用于获取pcb图像;
35.轮廓提取模块,用于对所述pcb图像进行轮廓提取处理,得到焊点轮廓;
36.目标焊点确定模块,用于获取所述焊点轮廓的质心,根据所述焊点轮廓的质心和预设的 约束条件确定所述目标元器件所对应的多个目标焊点;
37.中心坐标确定模块,用于根据所述目标焊点的质心得到目标元器件的中心坐标;
38.边缘区域确定模块,用于获取多个所述目标焊点的边缘所对应的外接矩形的顶点坐标, 根据所述顶点坐标确定所述目标元器件的边缘的感兴趣区域;
39.候选边缘点确定模块,用于获取所述感兴趣区域的像素点的灰度值,根据所述灰度值确 定所述目标元器件的候选边缘点;
40.边缘确定模块,用于从所述候选边缘点确定目标边缘点,根据所述目标边缘点拟合得到 目标元器件的边缘;
41.位置信息确定模块,用于根据所述目标元器件的中心坐标和所述目标元器件的边缘得到 所述目标元器件的位置信息。
42.本技术的第三方面的实施例,一种电子设备,包括:存储器、处理器及存储在存储器上 并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所
述的pcb 贴片元件定位方法。
43.本技术的第四方面的实施例,一种计算机可读存储介质,存储有计算机可执行指令,所 述计算机可执行指令用于执行如上所述的pcb贴片元件定位方法。
44.上述方案至少具有以下的有益效果:通过对所述pcb图像进行轮廓提取处理,得到焊点 轮廓;获取焊点轮廓的质心,根据焊点轮廓的质心和预设的约束条件确定目标元器件所对应 的多个目标焊点;根据目标焊点的质心得到目标元器件的中心坐标;获取多个目标焊点的边 缘所对应的外接矩形的顶点坐标,根据顶点坐标确定目标元器件的边缘的感兴趣区域;获取 感兴趣区域的像素点的灰度值,根据灰度值确定目标元器件的候选边缘点;从候选边缘点确 定目标边缘点,根据目标边缘点拟合得到目标元器件的边缘;根据目标元器件的中心坐标和 目标元器件的边缘得到目标元器件的位置信息;通过利用焊点的颜色、位置特征,减少pcb 基板、字符丝印以及相邻的元器件的轮廓信息的影响,能够对元器件精准定位。
附图说明
45.附图用来提供对本技术技术方案的进一步理解,并且构成说明书的一部分,与本技术的 实施例一起用于解释本技术的技术方案,并不构成对本技术技术方案的限制。
46.图1是本技术实施例所提供的pcb贴片元件定位方法的步骤图;
47.图2是步骤s200的子步骤图;
48.图3是步骤s300的子步骤图;
49.图4是步骤s600的子步骤图;
50.图5是旋转校正步骤的子步骤图;
51.图6是标记有外接矩形和感兴趣区域的pcb图像。
52.图7是本技术实施例所提供的pcb贴片元件定位装置的结构图。
具体实施方式
53.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申 请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于 限定本技术。
54.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序, 但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述 的步骤。说明书、权利要求书或上述附图中的术语“第一”、“第二”等是用于区别类似的 对象,而不必用于描述特定的顺序或先后次序。
55.下面结合附图,对本技术实施例作进一步阐述。
56.本技术的实施例,提供了一种pcb贴片元件定位方法。
57.参照图1,pcb贴片元件定位方法,包括但不限于以下步骤:
58.步骤s100,获取pcb图像;
59.步骤s200,对pcb图像进行轮廓提取处理,得到焊点轮廓;
60.步骤s300,获取焊点轮廓的质心,根据焊点轮廓的质心和预设的约束条件确定目标元器 件所对应的多个目标焊点;
61.步骤s400,根据目标焊点的质心得到目标元器件的中心坐标;
62.步骤s500,获取多个目标焊点的边缘所对应的外接矩形101的顶点坐标,根据顶点坐标 确定目标元器件的边缘的感兴趣区域102;
63.步骤s600,获取感兴趣区域102的像素点的灰度值,根据灰度值确定目标元器件的候选 边缘点;
64.步骤s700,从候选边缘点确定目标边缘点,根据目标边缘点拟合得到目标元器件的边缘;
65.步骤s800,根据目标元器件的中心坐标和目标元器件的边缘得到目标元器件的位置信息。
66.在该实施例中,通过利用焊点的颜色、位置特征,减少pcb基板、字符丝印以及相邻的 元器件的轮廓信息的影响,能够对元器件精准定位。
67.对于步骤s100,通过摄影设备对贴片有电子元器件的pcb基板进行拍摄得到pcb图像。
68.对pcb图像进行预处理,例如对pcb图像进行滤波处理,并对滤波后的图像进行灰度变 换、阈值分割、将pcb图像进行二值化转换得到像素灰度值只有0与255的黑白图等。图像 预处理可以减少由于载具或板材的变形、平台的微振动、光源照明的不稳定、焊盘上的污物 等给图像所带来的噪音,有利于提高后续定位精度。
69.参照图2,对于步骤s200,pcb图像是对位于aoi塔式光源下的pcb板拍摄所得到的图 像;对pcb图像进行轮廓提取处理,得到焊点轮廓,包括但不限于以下步骤:
70.步骤s210,对pcb图像进行轮廓提取处理,得到第一候选轮廓;
71.步骤s220,获取第一候选轮廓的周长,根据第一候选轮廓的周长和预设的周长阈值确定 第二候选轮廓;
72.步骤s230,获取第二候选轮廓所包围区域的炫彩度量值,根据第二候选轮廓所包围区域 的炫彩度量值和预设的炫彩度阈值确定焊点轮廓。
73.对于步骤s210,通过轮廓提取算法,例如python中的cv2.findcontours()函数,对 pcb图像进行轮廓提取处理,得到第一候选轮廓。该算法通过扫描图像获边缘点并判断该边 缘点的类型,然后在该边缘点的连通域中寻找下一个边缘点,通过对不同的边缘进行编码来 确定边缘的层次关系。对二值化的pcb图像进行轮廓提取,提取效果更佳。
74.对于步骤s220和步骤s230,由于在轮廓检测过程中,总会存在背景干扰、噪声干扰, 其灰度值与待检测目标的灰度值相差不大,该区域会形成干扰轮廓,例如:目标焊点轮廓内 的子轮廓、邻近元器件的焊点轮廓、基板上丝印字符的轮廓。
75.当pcb图像中的图形的第一候选轮廓的周长符合预设的周长阈值范围,则将该第一候选 轮廓确定第二候选轮廓。
76.但由于部分干扰轮廓的周长与目标焊点接近,仅通过周长阈值无法准确确定焊点轮廓。 而焊点在aoi塔式光源下呈现特殊的颜色、纹理特征。通过获取第二候选轮廓所包围区域的 炫彩度量值,根据第二候选轮廓所包围区域的炫彩度量值和预设的炫彩度阈值确定焊点轮廓。
77.结合周长和炫彩度量值,从两个方面去除干扰轮廓,能更准确地确定焊点轮廓。
78.对于步骤s300,计算焊点轮廓的质心,然后根据焊点轮廓的质心和预设的约束条
件确定 目标元器件所对应的多个目标焊点。
79.具体地,邻近的焊点轮廓与目标轮廓的颜色、纹理、形状、尺寸、炫彩度量值等特征一 致,通过这些特征皆无法去除焊点轮廓,需要根据目标元器件的焊点结构特征确定目标元器 件对应的目标焊点。
80.参照图3,根据焊点轮廓的质心和预设的约束条件确定目标元器件所对应的多个目标焊 点,包括但不限于以下步骤:
81.步骤s310,取任意三个焊点轮廓的质心,根据三个焊点轮廓的质心得到三条边;
82.步骤s320,当三条边满足约束条件,将三个焊点轮廓所对应的焊点作为目标焊点。
83.例如对于三极管,三个焊点的结构特征满足:(1)3个焊点的质心连线构成三角形;(2) 该三角形为锐角三角形;(3)其中有两条边的长度相差不大。
84.则,约束条件为:式中,a、b和c对应三 条边,m为预设的常数值。具体地,m取值为5。
85.对于步骤s400,根据目标焊点的质心得到目标元器件的中心坐标。
86.例如,三个焊点的质心坐标分别为a(cx1,cy1)、b(cx2,cy2)、c(cx3,cy3),则目标 元器件的中心坐标为
87.还可以根据焊点轮廓的质心计算目标元器件的第一偏移角。定义d点坐标为(cx1+5, cy1)。则有)。则有)。则有∠abc=arcos((b2-a 2-c 2)/(-2*a*c))), ∠abd=arcos s((ad2-c2-bd2)/(-2*bd*c)))。进一步,可以得到第一偏移角为 α=∠dbc=∠abc-∠abd。
88.以第一偏移角的角度旋转pcb图像,使得目标元器件偏向正向,便于后续坐标计算。
89.参照图6,对于步骤s500,获取多个目标焊点的边缘所对应的外接矩形101的顶点坐标, 根据顶点坐标确定目标元器件的边缘的感兴趣区域102。
90.表1三个目标焊点的外接矩形101的参数示意表
91.焊点编号123宽(pixel)w1w2w3高(pixel)h1h2h3左上角坐标(pixel)(a1,b1)(c1,d1)(e1,f1)左下角坐标(pixel)(a2,b2)(c2,d2)(e2,f2)右下角坐标(pixel)(a3,b3)(c3,d3)(e3,f3)右上角坐标(pixel)(a4,b4)(c4,d4)(e4,f4)
92.例如,三个目标焊点的顶点坐标如表1所示。
93.表2目标元器件的边缘的感兴趣区域102的参数示意表
94.roi编号12左上角坐标(pixel)(c1,b2)(c1,d
1-k)右下角坐标(pixel)(f3,b3+k)(f3,d1)宽(pixel)f
3-c1f
3-c1高(pixel)kk
95.可以由表1的三个目标焊点的顶点坐标,得到表2的目标元器件的上下边缘的感兴趣区 域102。
96.参照图4,对于步骤s600,由于相邻像素的灰度值变化缓慢,这增大了提取边缘点的难 度。
97.获取感兴趣区域102的像素点的灰度值,然后根据灰度值确定目标元器件的候选边缘点。
98.根据灰度值确定目标元器件的候选边缘点,包括但不限于以下步骤:
99.步骤s610,根据灰度值大小对感兴趣区域102的每行像素点从大至小分别进行排序;
100.步骤s620,对每行像素点,将前k个像素点作为目标元器件的候选边缘点。
101.具体地,选择每行像素点的最大值、次大值、第三大值作为候选边缘点。
102.对于步骤步骤s700,从候选边缘点确定目标边缘点,然后根据目标边缘点拟合得到目标 元器件的边缘。
103.从候选边缘点确定目标边缘点,包括但不限于以下步骤:
104.遍历以下操作,得到多个边缘点集合:从候选边缘点选任意两个作为第一边缘点,其他 作为第二边缘点,由第一边缘点确定直线,由到直线的距离值小于预设的距离阈值的第二边 缘点作为第三边缘点,由第三边缘点组成边缘点集合;
105.计算边缘点集合中第三边缘点的数量值,将数量值最大的边缘点集合中的第三边缘点作 为目标边缘点。
106.对于步骤s800,根据目标元器件的中心坐标和目标元器件的边缘得到目标元器件的位置 信息,实现对目标元器件的准确定位。
107.另外,pcb贴片元件定位方法还包括对pcb图像进行旋转校正步骤。
108.参照图5,旋转校正步骤包括但不限于以下步骤:
109.步骤s910,根据焊点轮廓的质心计算目标元器件的第一偏移角;
110.步骤s920,根据目标元器件的边缘计算目标元器件的第二偏移角;
111.步骤s930,根据第一偏移角和第二偏移角得到总偏移角;
112.步骤s940,根据总偏移角对pcb图像进行旋转。
113.对于第二偏移角,计算由目标边缘点拟合得到的目标元器件的边缘与水平轴方向的夹角, 得到φ1和φ2。则第二偏移角为φ=(φ1+φ2)/2。直线往上侧偏移φ为负,直线往右下 侧偏移φ为正。
114.对于总偏移角,总偏移角为p=α+φ。
115.最后,根据总偏移角对pcb图像进行旋转,使得pcb图像中的目标元器件位置正向。
116.本技术的实施例,提供了一种pcb贴片元件定位装置。
117.参照图7,pcb贴片元件定位装置包括图像获取模块10、轮廓提取模块20、目标焊点
确 定模块30、中心坐标确定模块40、边缘区域确定模块50、候选边缘点确定模块60、边缘确 定模块70和位置信息确定模块80。
118.其中,图像获取模块10用于获取pcb图像;轮廓提取模块20用于对pcb图像进行轮廓 提取处理,得到焊点轮廓;目标焊点确定模块30用于获取焊点轮廓的质心,根据焊点轮廓的 质心和预设的约束条件确定目标元器件所对应的多个目标焊点;中心坐标确定模块40用于根 据目标焊点的质心得到目标元器件的中心坐标;边缘区域确定模块50用于获取多个目标焊点 的边缘所对应的外接矩形101的顶点坐标,根据顶点坐标确定目标元器件的边缘的感兴趣区 域102;候选边缘点确定模块60用于获取感兴趣区域102的像素点的灰度值,根据灰度值确 定目标元器件的候选边缘点;边缘确定模块70用于从候选边缘点确定目标边缘点,根据目标 边缘点拟合得到目标元器件的边缘;位置信息确定模块80用于根据目标元器件的中心坐标和 目标元器件的边缘得到目标元器件的位置信息。
119.可以理解的是,pcb贴片元件定位方法实施例中的内容均适用于本pcb贴片元件定位装 置实施例中,pcb贴片元件定位装置实施例所具体实现的功能与pcb贴片元件定位方法实施 例相同,并且达到的有益效果与pcb贴片元件定位方法实施例所达到的有益效果也相同。
120.本技术的实施例,提供了一种电子设备。电子设备包括存储器、处理器及存储在存储器 上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的pcb 贴片元件定位方法。
121.该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
122.总体而言,对于电子设备的硬件结构,处理器可以采用通用的 cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路 (applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现, 用于执行相关程序,以实现本技术实施例所提供的技术方案。
123.存储器可以采用只读存储器(readonlymemory,rom)、静态存储设备、动态存储设备或 者随机存取存储器(randomaccessmemory,ram)等形式实现。存储器可以存储操作系统和其他 应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代 码保存在存储器中,并由处理器来调用执行本技术实施例的数据监控方法。
124.输入/输出接口用于实现信息输入及输出。
125.通信接口用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线 等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
126.总线在设备的各个组件(例如处理器、存储器、输入/输出接口和通信接口)之间传输信 息。处理器、存储器、输入/输出接口和通信接口通过总线实现彼此之间在设备内部的通信连 接。
127.本技术的实施例,提供了一种计算机可读存储介质。计算机可读存储介质存储有计算机 可执行指令,所述计算机可执行指令用于执行如上所述的pcb贴片元件定位方法。
128.应当认识到,本发明实施例中的方法步骤可以由计算机硬件、硬件和软件的组合、或者 通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标 准编程技术。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。 然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可
以是编译或解 释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
129.此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他 方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的 一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码 (例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。 所述计算机程序包括可由一个或多个处理器执行的多个指令。
130.进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不 限于个人电脑、智能手机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算 机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂 时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬 盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介 质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可 读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据 处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂 时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本 身。
131.计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储 至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本 发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形 对象的特定视觉描绘。
132.尽管已经示出和描述了本技术的实施方式,本领域的普通技术人员可以理解:在不脱离 本技术的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申 请的范围由权利要求及其等同物限定。
133.以上是对本技术的较佳实施进行了具体说明,但本技术并不限于实施例,熟悉本领域的 技术人员在不违背本技术精神的前提下可做作出种种的等同变形或替换,这些等同的变形或 替换均包含在本技术权利要求所限定的范围内。