一种印刷电路板定位孔快速识别算法

2018-01-26 04:58华中师范大学第一附属中学夏宇梁
电子世界 2018年1期
关键词:电路板小波印刷

华中师范大学第一附属中学 夏宇梁

0 引言

印制电路板(Printed Circuit Board,PCB)基准定位孔的准确性直接影响PCB产品质量[1]。中小印刷电路板生产企业目前主要采用人工方法进行PCB定位孔钻孔,其精度越来越不能适应高精度PCB生产需求。

笔者利用计算机视觉技术对印刷电路板定位孔进行识别,精确地识别出孔心位置坐标后,再利用伺服电机控制的可以X,Y二维平面移动的气动钻头对PCB板进行精准钻孔。实现这一过程的系统关键在定位孔识别算法上。本文对印刷电路板定位孔识别算法进行研究,提出了一种快速可靠的识别算法,该算法经过实际的打靶机实验,其精度、稳定性达到了PCB生产企业的要求。

目前定位孔识别算法多采用Hough变换算法[2,3],但是对于定位孔有镜面反射情况、图像边缘不尖锐或者定位孔焊盘圆周有畸变等问题时,该算法计算量倍增,识别的准确性和可靠性也大大降低。

由于采用工业相机对PCB板进行定位孔识别,需要在连续的视频图像中先找出焊盘,然后再对焊盘进行精确的孔心坐标识别。因此,定位孔坐标识别算法分两步实施:

(1)提取连续视频图像中的每一帧,然后进行图像平滑、区域分割和连通区搜索,初步确定定位孔大小和位置[4]。

(2)利用二维小波变换对定位孔进行精确识别,精确找出孔心坐标[3]。

实际测试表明,该算法对图像中出现的亮斑干扰不敏感,有效地解决了PCB板因蚀刻而引起的定位孔局部形状变形导致的识别问题。

1 图像中定位孔搜索

工业相机拍摄的视频图像中不总是存在定位孔,本阶段算法是要在图像中快速搜索定位孔,如果存在,确定初步位置坐标和半径。算法思路:设PCB灰度图像为 f (x, y),为了削弱定位孔处金属反光干扰,对 f (x, y)作9×9均值滤波,得到 g (x , y),如图1(a)所示。

分析g (x, y)的直方图,利用峰谷法得出分割阈值T。对g (x, y)进行二值化,得到 B (x , y):

在 B(x, y)二值化的图像如图2(b)所示,白色部分为焊盘。利用连通区搜索算法,可得到包含焊盘的最小外接矩形S。S的角点坐标分别是(x1, y1)和(x2, y2)。

图1 视频图像二值化及外接矩形

接着进行定位孔半径及孔心坐标的计算。考虑一般性,设定位孔外轮廓为椭圆,用向量描述,。其中a和b分别为椭圆长轴和短轴,(x0,y0)为孔心坐标。

于是,图像中定位孔及定位孔中心和半径基本确定,接下来进行定位孔精确定位。

2 定位孔精确定位

图像中定位孔搜索只能获得一种初步结果,其精度比较低,达不到工程应用要求。原因如下:(1)均值滤波算法使图像轮廓模糊,导致很难找到合适的分割阈值。(2)二值化后的图像与原图像相比,边缘处连续变化的信息失真,不能利用灰度的变化情况来确定边缘。因此,定位孔的精确位置确定需要在原图像 f (x, y)上进行。

为了从原图像上获得定位孔边缘的变化信息,首先对 f (x, y)作2D小波变换:

3 算法优化

工业相机每秒25帧速度,意味着定位孔识别算法要在40ms内完成,才能达到工业实时性。因此,2D小波算法需要进行优化,提高计算速度。

4 实验结果及分析

定位孔识别算法程序采用Visual Studio C++ 2008编写。程序运行环境为:Windows 7操作系统,CPU:I3-530。在优化算法中,选小波变换的尺度因子的各增量值:

图2 三种定位孔识别结果

[1]单越康,许昌,蒋庆.基于计算机视觉检测技术的PCB数控定位钻机[J].现代机械,2000,03:1-4。

[2]柏长冰,齐春,宋福民,等.Hough变换快速检测圆形PCB Mark[J].光电工程,2005,32(9):75-78.

[3]张利,高永英,汪浩,等.PCB板检测中的定位研究[J].中国图象图形学报,1999,4(8):659-668.

[4]商飞,王丰贵,田地,等.一种基于圆内接直角三角形的圆检测方法[J].光学学报,2008,28(4):739-743.

猜你喜欢
电路板小波印刷
构造Daubechies小波的一些注记
印刷+智能=?
印刷智能化,下一站……
基于MATLAB的小波降噪研究
基于改进的G-SVS LMS 与冗余提升小波的滚动轴承故障诊断
废旧手机电路板中不同金属回收的实验研究
《出版与印刷》2016年总目次
废弃电路板拆解技术研究现状及展望
单片机实验电路板的安装与调试
微波辅助浸取废弃电路板中铅锡锑