基于虚拟仪器的机器视觉在PCB元器件检测中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于虚拟仪器的机器视觉在PCB元器件检测中的应用
秦益霖;马祥林;朱敏;李晴
【摘要】PCB板的检测是电子设备制造过程中的重要环节,它是产品质量和性能达标的重要保障.为了实现生产过程中缺陷检测的自动化,研究了用机器视觉检测技术检测PCB元器件缺陷的方法.本文使用LaDVIEW、NI Vision Assistant和Vision Builder对所采集的PCB图像进行了处理且做出相应分析.通过实验证明,所讨论的方法对缺陷检测能够达到满意结果.
【期刊名称】《制造业自动化》
【年(卷),期】2010(032)006
【总页数】3页(P29-31)
【关键词】PCB;虚拟仪器;Vision Builder;Vision Assistant;机器视觉
【作者】秦益霖;马祥林;朱敏;李晴
【作者单位】常州信息职业技术学院,常州,213164;江苏科技大学,镇江,212001;江苏科技大学,镇江,212001;常州信息职业技术学院,常州,213164;江苏科技大学,镇江,212001;常州信息职业技术学院,常州,213164;江苏科技大学,镇江,212001【正文语种】中文
【中图分类】TP391
0 引言
印刷电路板是电子设备中不可缺少的重要部件,电路板在生产制造过程中有可能产
生各种各样的缺陷,比如电路板上元件缺失、错件等。
目前电路板插件主要采用人工方式进行检测,而人工检测存在劳动强度大,容易犯错的缺点。
本项目就是要开发一种具有一定面向的低成本的电路板元件检测设备,推进机器视觉技术向大众化应用方向发展,向各种领域发展。
1 系统设计
1.1 系统工作流程
首先采用智能相机将被摄取目标转换成图像信号,此时的图像是灰度图像;再通过数据线将此图像信号传送给PC机,根据像素分布、亮度等信息,将其转变成数字化信号并进行各种运算来抽取目标的特征;和标准图像进行对比、模板匹配等处理后,得出被测PCB是否有缺陷;最后使用智能相机的 I/O功能来实现机器视觉系统与外界系统和数据库的通信,控制生产流程。
系统结构如图1 所示。
图1 系统结构图
1.2 硬件设计
考虑到实时图像采集的测量精度和速度要求,该系统采用的硬件配置为:
NI 1744智能相机。
NI 1744系列智能相机具有图像采集和处理特性,还具有I/O 功能,在相机上构成了集于一体的嵌入式设备,能够运行NI VBAI或NI LabVIEW实时模块和整个NI机器视觉算法套件,能对图像进行处理,可以降低了成本和检测时间。
PC机。
通过智能相机获得的图像在PC机上显示,通过LabView、Vision assistant和VBAI编写的程序实现对图像的采集和处理。
1.3 软件设计环境
应用NI公司开发的虚拟仪器软件LabView8.6和NI公司的视觉模块,包括IMAQ Vision Builder、Vision Assistant和IMAQ Vision为开发平台。
2 图像处理与分析
从拍摄的照片如图2所示,可以看出,电解电容中间的金属表面具有很强的反光性,在图片中表现为高亮度。
有鉴于此,我们将在图片中检测电解电容的反光面的存在与否来判定电容是否存在。
由于系统采用的照明光源、相机和PCB板角度等原因,有些电解电容的反射表面
的强度不强,这会干扰对强度的判断,在以后的图像处理中必须对其增强。
可以使用NI Vision Assistant编程对PCB图像进行预处理,增强反射面的强度。
图2 PCB原始图片
图3 PCB预处理后图片
2.1 图像的预处理
一般情况下,当图像采集到计算机的时候,相机获得的原始图像会受到各种条件的限制和随机信号的干扰,如光电转换过程中敏感元件灵敏度的不均匀性、数字过程中的误差等,均会使图像含有各种各样的畸变和噪声,对图像的分析和识别带来困难。
2.1.1 中值滤波
中值滤波是一种非线性滤波方法,也是一种排序滤波方法。
在图像处理中对抑制离散的噪声比较有效,而且还能保护边缘轮廓信息。
它的中心思想是将所用邻域窗口内的所有像素灰度值从小到大排序,取该组中间的灰度值作为滤波后的灰度值。
设表示数字图像各点的灰度值,滤波窗口A的二维中值滤波,可定义为:
通常窗口内像素数为奇数,以便有个中间像素。
若窗口像素数为偶数时,则
中值取中间两像素灰度的平均值。
常用的窗口形状有方形、十字型、圆形、菱形等。
窗口A的大小决定在多少个数值中求中值,窗口的形状决定在什么样的几何空间
中取元素来计算中值。
最常用的窗口是方形或十字型。
中值滤波窗口越大,抑制噪声效果越好,但有效信
息损失也越大,因此须选择最佳窗口大小以兼顾二者。
本文采用5*5的方形窗口中值滤波进行图像平滑去噪。
2.1.2 灰度值变换
除了控制照明光源外,某些情况下通过算法调整图像的灰度值是必要的。
灰度值变换可被视为一点处理。
这意味着变换后的灰度值tr,c仅仅依赖于输入图像上同一位置的原始灰度值gr,c,可表示为:tr,c =f(gr,c)。
这里f(g)表示进行灰度值变换的函数。
为了提高变换的速度,灰度值变换通常通过一个查找表(LUT)来进行,即将每个输入灰度值变换后得到的输出值保存在一个查找表内。
如果用fg表示LUT,则tr,c =f[gr,c],此处符号[]表示的是查找表的操作。
平方根操作,其作用是增加了在黑暗区域的亮度和对比度,减少了在明亮的区域的亮度和对比度。
等值操作,作用是对图像的像素点进行变换,增加了图像的亮度、增加了亮区的对比度。
本文采用平方根、等值操作对图像进行灰度值变换。
2.1.3 数学形态学
图像处理中经过滤波、灰度值变换后的图像经常会包含我们不想要的干扰,所以我们必须要调整区域的现状以获得我们想要的结果。
数学形态学被定义为一种分析空间结构的理论。
为此,数学形态学提供了一组特别有用的方法,这些方法能让我们调整或描述物体的形状。
用gr,c表示要处理的图像,用s(r,c)表示ROI是S的一幅图像,图像s被称为结构元。
膨胀能够通过转置结构元来实现,有如下定义:
在灰度值形态学中,对结构元的选择通常是平坦结构元,即:对于s(r,c)∈S时,s(r,c) =0 。
它产生的效果为:扩大图像中比周围更亮的部分,并收缩背景,这样灰度值膨胀能够被用来将灰度值图像中的一个亮物体的脱节部分连在一起。
灰度值图像减法有如下定义
有以上两个基本模块,我们可以构建本文将要利用的操作:灰度值闭操作。
它是一个膨胀操作后再执行一个减法。
它能够被用来填充小孔或者删除小物体。
此外,它还能够被用来连接或分开物体,平滑物体的内、外边界。
根据以上讨论,编写程序对图像进行预处理。
经过预处理后的图像如图3所示,可以看出电解电容金属反射面都具有很强的亮度,达到了后续识别的要求。
预处理的程序图如图4:
图4 预处理的程序图
2.2 图像的分析
经过预处理后的图像已经满足我们对图像的辨识要求,在本文中应用NI Vision Builder for Automated Inspection对图像进行分析辨识的操作。
实验结果显示此方法能迅速、准确的检测出电路板是否存在缺陷,如检测通过,在图片上显示PASS,否则显示FAIL。
检测界面如图5所示:
图5 Vision Builder for Automated Inspection检测界面
3 结束语
本文介绍了基于虚拟仪器技术的PCB元器件检测系统,通过实验表明该方法是可行的、有效的,且易于实现,并且该系统可以满足PCB检测在线、实时、高速高精度的要求。
利用IMAQ Vision Builder、Vision assistant提供的强大图像处理功能,可以大大缩短软件开发时间,同时由于NI公司的软硬件具备非常好的可靠性和稳定性,可以确保检测结果的精确度。
参考文献:
[1] 章毓晋.图像处理和分析技术.北京:高等教育出版社.2008.
[2] 刘焕军,等.机器视觉中的图像采集技术.电脑与信息技术.2003(01):18-21.
[3] 方胜,等,基于NI Vision Assistant的机器视觉在钢球表面测中的应
用.2008(5):72-82.
[4] National Instruments Corporation.NI-IMAQ User Manual.2004.
[5] National Instruments Corporation.NI Vision Assistant Tutorial.2009.
[6] National Instruments Corporation.NI Vision Builder for Automated Inspection Tutorial.2009.
[7] National Instruments Corporation.NI 17xx Smart Camera User Manual.2008.。