halcon在pcb检测中的应用_第1页
halcon在pcb检测中的应用_第2页
halcon在pcb检测中的应用_第3页
halcon在pcb检测中的应用_第4页
halcon在pcb检测中的应用_第5页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

halcon在pcb检测中的应用

随着整个社会的工业化程度的提高,快速发展的pc行业对生产效率的要求越来越高。不同形式的pc层出不穷,逐渐发展为微型化。最具代表性的是由表面活性剂(smt)主导的pc制造行业。以往的人工离线检测已经完全不能适应高效性和高准确率形势的需要,于是自动光学检测就应运而生。PCB的自动光学检测主要分为4步:图像采集、图像处理、特征提取和决策判断。其中,特征提取和决策决断2个步骤都涉及PCB的光学定位点(Mark点)的识别,因此,Mark点识别的快速性和准确性是PCB自动光学检测的一个重要环节。HALCON是一款功能十分强大的机器视觉软件,它提供1000多个运算子,包含从低级的图像读取到高级的模式识别的各种算法,可以应用到机器视觉检测的整个过程,如图像显示、图像分割、特征提取、模板创建以及图像匹配等。另外,它还提供了开放的结构形式,利用自有的HDevelop编程工具,可以轻松地实现代码从HALCON算子到C、C++、C#等程序语言的转化,为检测软件的开发提供了良好的编程环境。作为目前业内功能最完善、效率最高的软件之一,已被广泛应用于工业生产中的各个方面,如陶瓷、食品、机械、医疗等。本文利用HALCON优秀的图像处理功能,编制出3种Mark点识别的算法,进而对3种算法的效率和应用范围进行了详细的评价。1带明显滑动点的滑板和带显示的硫导致无法进入pcb系统中Mark点是PCB板在制造过程中用来定位的一种板载标记。就目前的PCB板的设计工艺来看,Mark点的作用主要有2点:1)在贴片或者光学检测过程中,上板时读取一对角2个Mark点以确定板加载是否偏位及旋转;2)贴片精度高时,在所贴IC附近放置Mark点,机器贴该IC前读取Mark点位置是否有偏位,如有偏位可自行修正。根据Mark点在PCB上的作用,可分为拼板Mark点、单板Mark点、局部Mark点(也称器件级Mark点)。本文主要讨论单板的一对角2个Mark点的识别,因此以下主要介绍单板Mark点的设计和尺寸要求,它包括如下几个方面:(1)Mark点的形状一般约为直径1mm的实心圆,材料为铜,表面喷锡,需注意平整度,边缘光滑,颜色与周围的背景色有明显区别;阻焊开窗与Mark点同心,直径约为3mm。(2)Mark点中心距板边不小于5mm。(3)为了保证印刷和贴片的识别效果,Mark点范围内应无焊盘、过孔、测试点、走线及丝印标识等,不能被V-CUT槽所切造成机器无法辨识。(4)为了增加Mark点和基板之间的对比度,可以在Mark点下面敷设铜箔。同一板上的Mark点其内层背景要相同,即Mark点下有无铜箔应一致。(5)Mark点应当作元件来设计,便于赋予准确的坐标值进行定位。由上述Mark点的作用及设计特点来看,可以归纳出Mark点的几个明显特征:即由铜材料构成、直径约1mm、与周围背景对比度大、周围是阻焊开窗并且无元件、不会被其他结构干扰、在板上的位置固定等。2ark点识别技术鉴于上述Mark点的几个主要特征,在Mark点的识别过程中,主要会用到基于阈值的图像分割和基于形状的图像匹配技术,下面分别对这两种图像处理技术进行简要介绍。2.1阈值分割处理图像分割是通过对原始采集图像进行某种方式的分割处理,以便于从其结果中提取到图像的某些特征(如轮廓、区域等)的过程。阈值图像分割是图像分割技术中最基本也是最常用的一种方法,它通过对原始图像的灰度直方图进行具体的分析,以获得前景与背景或者不同区域之间的一个或者几个灰度阈值,然后将具有每一个阈值两侧的灰度值的像素分别设置成相同的颜色,从而达到将图像进行分割的目的。阈值分割主要有以下几种方法:基于点的阈值分割、基于区域的阈值分割、局部阈值分割以及多阈值分割等。阈值分割方法中最简单的形式就是单阈值图像分割,设原始图像的像素灰度为f(x,y),通过其灰度直方图信息得到一个灰度阈值t,应用公式g(x,y)={b0‚f(x,y)<tb1‚f(x,y)≥t(1)将得到一个分割后的二值化图像。若取b0=0(黑),b1=1(白),得到的就是通常所说的黑白二值化图像。2.2图像区域形状的绘画当图像进行分割之后,就要从中提取出各种特征,如灰度特征、文理特征以及形状特征等,进而才能进行图像匹配。图像匹配是通过一定的匹配算法在采集图像和模板图像之间识别同名点的过程,其实质是在基元相似性的条件下,运用匹配准则的最佳搜索问题。图像匹配主要可以分为基于灰度的匹配和基于特征的匹配。基于形状的匹配是特征匹配的一种,是本实验开发软件HALCON中最常用的匹配方法。形状特征是由组成物体的轮廓线或者物体表面的所有点的相对位置决定的。在图像处理过程中,图像区域形状的描绘通常是通过对区域外形或内部进行各种变换,从而提取区域形状特征的一些数据或者符号,通称描绘子。常用的描绘子分为2类:基于边界的形状描绘子和基于区域的形状描绘子。其中,基于边界的形状描绘子方法主要包括:一般边界几何描绘子(如边界长度、曲率、弯曲势能等)、链码描绘子、傅里叶变换边界描绘子、B样条曲线描绘子、Hough变换边界描绘子等;基于区域的形状描绘子方法主要包括:一般区域形状描绘子(如面积、欧拉数、投影、偏心率、延伸率、方向、密集度等)、矩描绘子、突包描绘子、区域骨架化、区域分解描绘、领域描绘等。3基于3种识别算法的建模由于HALCON软件具有很好的开放式结构,故本实验在WindowsXP环境下,采用HALCON和VC++6.0联合编程的方法进行Mark点识别算法的开发。一方面能很好地利用HALCON强大的图像处理功能,另一方面又能保证程序的兼容性、高效性以及界面的友好性。Mark点的识别主要分为2个阶段,一个是模板创建阶段,一个是模式识别阶段。本文主要讨论模板创建阶段Mark点的3种识别方法:手动区域选择法、自动图像分割法、XLD模板法。模式识别阶段的图像匹配算法与第3种方法中用到的图像匹配的原理一致,不再单独列出。3.1调用权限的选择方法手动区域选择法的步骤如下。(1)devdis-roge算子先用openframegrabber算子打开图像采集设备,如摄像头等,然后用grabimage算子实时抓取单张含有Mark点的图像,存到HALCON图像库中,再用readimage算子读入图片并用devdisplay算子将其显示出来,如图1所示。(2)ark点所在区域的显示先利用drawcircle算子手动在图1中寻找出Mark点所在的区域,然后用gencircle算子将其显示出来,如图2所示。最后用reducedomain算子将处理区域减小为图2中圈出的区域,即产生ROI。(3)dynthpshold算子先用meanimage算子将图像进行平滑处理,消除噪声,如图3a所示;然后利用dynthreshold算子对平滑后的图像进行自动阈值分割,如图3b所示;最后利用connection算子将间隔不超过8个像素点的区域连接起来成为同一个区域,如图3c所示。(4)检查点位置提取先用selectshape算子将图像中区域面积在500以上的区域选出,从图3c中可以看出,此时已经可以确定该区域就是Mark点在图中显示的区域,然后用smallestcircle算子分析计算出该区域最小外接圆的半径及圆心位置,最后用gencircle以及devdisplay将其显示出来,即为所要提取的Mark点准确位置,如图3d所示。3.2阈值分割处理本方法与第1种方法在图像采集与显示、图像处理以及Mark点的识别3个步骤上基本一致。但是,由于考虑到自动化生产效率较高的因素,故将第1种方法的第2步改进成为自动阈值分割,然后直接产生ROI,这种方法关键是利用Mark点的阻焊开窗比较大、且颜色与PCB背景不同的特点,是运用全局阈值分割原理来完成的。先用threshold算子划分出灰度值在75以上的区域,如图4所示;然后利用openingcircle算子选择出能容纳下半径为80的圆的区域,如图5所示,此时就能选定阻焊开窗这一大的圆形区域了。后面的算法步骤与第1种方法一致。3.3生成虚拟图像和生成模板本方法利用HALCON里面专有的一种XLD数据结构,专门存储一组虚拟的轮廓数据,然后用模式识别的方法从读取的图片中找出Mark点的位置,其步骤如下。(1)图像采集、显示与第1种方法相同。(2)建立虚拟轮廓图像。先用genellipsecontuorxld产生一个和Mark点区域大小相当的圆形,该区域大小的数据可以通过HALCON里实时放大的功能,将图片放大到400%的状态下观察得到,然后利用genimageconst和paintxld算子产生一个空的虚拟图像,如图6a所示。(3)产生虚拟模板。先用inspectshapemodel算子对要建立模板的虚拟图像进行预处理,然后利用createshapemodel算子创建模板,最后利用getshapemodelcontours算子来实现对该图像中的圆形进行模板轮廓提取,如图6b所示。(4)图像匹配。先利用findshapemodel算子在图1中进行模板搜索,然后利用vectorangletorigid算子进行刚性的仿射变换建立一个原图与模板之间的变换矩阵HomMat2D,最后利用affinetranscontourxld算子进行轮廓的仿射变换,达到实际图像与虚拟模板匹配的目的。43几种方法的比较(1)从程序执行时间的角度来看,3种方法在读取图像步骤上基本一致,但是从第2步开始就有了明显的区别。第1种方法虽然能通过手动选择ROI来减少电脑阈值分割和区域选择所用的时间,但是这种算法的弊端就在于需要人工干预,对于要求高效率的自动化生产线来说,并不是一个好的选择。第2种方法与第1种方法不同之处在于将阈值分割扩大到了整张图,虽然在阈值分割以及区域选择上多花0.1s左右的时间,但是去掉了人工画圆的步骤,很好地实现了完全自动识别的功能,第2种方法的执行时间为0.5s。对于第3种方法来说,虽然步骤比第1种方法和第2种方法都多,但是执行时间和第2种方法完全相同。另外,第3种方法的自动化程度也比第1种方法要好,无须人工干预。(2)从各自的应用范围来看,第1种方法主要应用在PCB上有元器件的外形与Mark点相似的情况中,此时Mark点难以通过全局阈值分割而得到,因此可以借助于手动,划分出小的ROI区域来识别出Mark点。第2种方法则适合大批量生产,只要各批次的PCB板的Mark点制造材料及其阻焊窗相同,就可以用此方法完成。同样,第3种方法的范围也和第2种方法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论