一种基于模板匹配的带矩形引脚芯片的定位算法的制作方法

文档序号:13165958阅读:554来源:国知局
一种基于模板匹配的带矩形引脚芯片的定位算法的制作方法

本发明涉及贴片机视觉系统中带矩形引脚元件的视觉检测方法,主要实现带矩形引脚元件定位功能。



背景技术:

随着电子工业的发展,表面贴装技术(smt,surfacemounttechnology)也迅速发展。其中,贴片机是smt生产线的关键设备,主要实现贴片元件的贴装。贴片机的机器视觉系统直接影响到贴片机的贴装速度和精度,这对于元件的视觉识别算法提出了很高的要求。

带矩形引脚的芯片有很多不同种类和形状,其引脚类型主要分为g型引脚和j型引脚两种。g型引脚芯片图像往往引脚内侧轮廓较为清晰,因此模板图像选择描摹引脚内侧轮廓线,模板匹配结果较好;而j型引脚芯片图像往往引脚外侧轮廓较为清晰,因此模板图像选择描摹引脚外侧轮廓线,则结果较好。但现有缺少准确定位带矩形引脚芯片的问题。



技术实现要素:

本发明是为了解决现有缺少准确定位带矩形引脚芯片的问题。现提供一种基于点匹配的球形引脚元件的定位算法。

一种基于模板匹配的带矩形引脚芯片的定位算法,它包括以下步骤:

步骤一、根据芯片的参数绘制不同角度的模板图像ik,α(x,y),其中,k为图像缩放倍数,k=s,m,s>m,α为角度的变量,(x,y)为模板图像坐标;

步骤二、对步骤一中的每个模板图像ik,α(x,y)进行变换得到不同角度的模板频域图像tk,α(u,v),(u,v)为模板频域图像坐标;

步骤三、选取符合亮度要求的定位芯片的原图像,将原图像缩放s倍,进行边缘检测及距离变换得到频域图像ms(u,v),将频域图像ms(u,v)分别与步骤二中不同角度的模板频域图像ts,α(u,v)相乘,再进行傅里叶反变换,得到多组相关性图像cs,α(u,v);

步骤四、在多组相关性图像cs,α(u,v)中,选取图像像素值最小的图像对应的模板图像角度α0;

步骤五、对称选取角度α0左右两侧的角度及α0对应的模板频域图像ts,α(u,v)分别与频域图像ms(u,v)相乘,得到多组相关性图像cs,α(u,v)1,在多组相关性图像cs,α(u,v)1中选取图像像素值最小的图像对应的模板图像角度α1;

步骤六、将原图像缩放m倍,重复步骤三至五的操作,得到缩放m倍下的相关性图像计算中像素值最小点的位置坐标(x0,y0),作为模板匹配得到的位置坐标;

步骤七、根据芯片实体的型号信息,得到当芯片旋转角度为0时,每个矩形引脚的两个边缘点坐标,将所有边缘点坐标作为模板图像芯片角点坐标集st;

步骤八、模板图像芯片角点坐标集st通过模板图像角度α1和位置坐标(x0,y0)进行仿射变换,得到原图像角点坐标集

步骤九、对原图像角点坐标集进行梯度计算得到精确的角点坐标集sm;

步骤十、将模板图像芯片角点坐标集st和精确角点坐标集sm进行匹配,得到芯片实体相对于模板图像精确的旋转角度α*和芯片实体中心相对于模板图像中心精确的偏移位置坐标(x*,y*),从而实现矩形引脚芯片的定位。

本发明的有益效果为:

本申请主要用于解决贴片机视觉系统在贴装带矩形引脚芯片前,需要测试精确的芯片旋转角度和偏移量问题,采用本申请的方法能够快速、准确的在芯片图像中找到精确的芯片位置和角度,进行准确贴装芯片。

采用本申请的方法同现有的方式相比计算效率和精确度均提高了5倍以上。

两幅图像的相关计算等于一幅图像与另一幅图像旋转180°的图像的卷积计算,而计算两幅图像的卷积等于两幅图像傅里叶变换结果的乘积的傅里叶反变换。快速傅里叶变换的计算量比模板图像在目标图像上进行逐行逐列计算相关性的计算量要小得多,因此本申请通过快速傅里叶变换算法计算相关性提高模板匹配算法的计算效率。

附图说明

图1为具体实施方式一所述的一种基于模板匹配的带矩形引脚芯片的定位算法的流程图;

图2为一种sop型芯片绘制的模板图像;

图3为一种soj型芯片绘制的模板图像;

图4为一种plcc型芯片绘制的模板图像;

图5为一种qfp型芯片绘制的模板图像;

图6为一种sop型芯片的原图像的感兴趣区域;

图7为一种sop型芯片的缩小m倍图像的canny边缘检测图像;

图8为一种sop型芯片的缩小m倍canny边缘图像距离变换的图像;

图9为一种sop型芯片的缩小m倍图像模板匹配得到的相关性图像;

图10为一种sop型芯片图像经过模板匹配得到的原图像角点示意图;

图11为一种sop型芯片图像经过亚像素角点检测得到的精确的角点示意图。

具体实施方式

具体实施方式一:参照图1至图11具体说明本实施方式,本实施方式所述的一种基于模板匹配的带矩形引脚芯片的定位算法,它包括以下步骤:

步骤一、根据芯片的参数绘制不同角度的模板图像ik,α(x,y),其中,k为图像缩放倍数,k=s,m,s>m,α为角度的变量,(x,y)为模板图像坐标;

步骤二、对步骤一中的每个模板图像ik,α(x,y)进行变换得到不同角度的模板频域图像tk,α(u,v),(u,v)为模板频域图像坐标;

步骤三、选取符合亮度要求的定位芯片的原图像,将原图像缩放s倍,进行边缘检测及距离变换得到频域图像ms(u,v),将频域图像ms(u,v)分别与步骤二中不同角度的模板频域图像ts,α(u,v)相乘,再进行傅里叶反变换,得到多组相关性图像cs,α(u,v);

步骤四、在多组相关性图像cs,α(u,v)中,选取图像像素值最小的图像对应的模板图像角度α0;

步骤五、对称选取角度α0左右两侧的角度及α0对应的模板频域图像ts,α(u,v)分别与频域图像ms(u,v)相乘,得到多组相关性图像cs,α(u,v)1,在多组相关性图像cs,α(u,v)1中选取图像像素值最小的图像对应的模板图像角度α1;

步骤六、将原图像缩放m倍,重复步骤三至五的操作,得到缩放m倍下的相关性图像计算中像素值最小点的位置坐标(x0,y0),作为模板匹配得到的位置坐标;

步骤七、根据芯片实体的型号信息,得到当芯片旋转角度为0时,每个矩形引脚的两个边缘点坐标,将所有边缘点坐标作为模板图像芯片角点坐标集st;

步骤八、模板图像芯片角点坐标集st通过模板图像角度α1和位置坐标(x0,y0)进行仿射变换,得到原图像角点坐标集

步骤九、对原图像角点坐标集进行梯度计算得到精确的角点坐标集sm;

步骤十、将模板图像芯片角点坐标集st和精确角点坐标集sm进行匹配,得到芯片实体相对于模板图像精确的旋转角度α*和芯片实体中心相对于模板图像中心精确的偏移位置坐标(x*,y*),从而实现矩形引脚芯片的定位。

本实施方式中,步骤一中,根据芯片的参数绘制不同角度的模板图像ik,α(x,y)的具体过程为:

根据芯片的参数绘制不同角度,不同缩放尺度的模板图像。绘制缩放2倍和缩放4倍两个缩放比例的模板图像,每个缩放比例有-30°到30°,间隔1°共61个不同角度的模板图像ik,α(x,y),其中k=2,4,α=-30°,-29°,...,29°,30°。不同角度的模板图像大小相同,图像大小可以刚好包含所有角度的图像中所有白色像素点。

步骤三中,选取符合亮度要求的定位芯片的原图像的具体过程为:

首先对要进行定位的芯片的原图像,即目标图像进行亮度检查。首先以200为阈值对目标图像进行二值化,然后对二值化图像统计非零像素的个数。如果非零像素数少于低阈值,则图像太暗;如果非零像素数多于高阈值,则图像太亮。图像太暗或太亮直接返回错误,不进行下面的步骤。只有当非零像素数在低阈值和高阈值之间,才继续进行步骤四。设目标图像的长宽为w×h,低阈值设为0.01w×h,高阈值设为0.9w×h。

步骤三中,对目标图像缩放4倍,并进行canny边缘检测,得到边缘图像,其中canny低阈值为100,高阈值为200。

步骤三中,为了提高计算效率,首先以5°为步长选择模板,即α=-30°,-25°,...,25°,30°。

步骤四中,在多组相关性图像cs,α(u,v)中,选取图像像素值最小的图像对应的模板图像角度α0;像素值越小,相关性越好。

步骤七中,如果是g型引脚,g型引脚取引脚靠近芯片中心内侧的两个顶点边为边缘点坐标,如果是j型引脚,j型引脚取引脚远离芯片中心外侧的两个顶点为边缘点坐标。这些顶点的坐标是以芯片中心坐标为(0,0)的相对位置坐标。这些点的坐标作为模板图像芯片角点坐标集令点的个数为n,为芯片总引脚数的2倍。

步骤九中,对原图像角点坐标集进行梯度计算得到精确的角点坐标集sm的具体过程为;

在坐标集中每个点周围6×6大小窗口中通过计算梯度得到亚像素级角点,得到对应的精确角点坐标集

步骤六中,重复步骤三至五的操作,具体为:

对原图像进行缩放m倍后进行边缘检测,得到边缘图像;对边缘图像进行距离变换得到距离变换图像;对距离变换图像进行快速傅里叶变换得到频域图像mm(u,v),将mm(u,v)分别与角度为α1的模板频域图像相乘,再进行傅里叶反变换得到相关性图像

具体实施方式二:本实施方式是对具体实施方式一所述的一种基于模板匹配的带矩形引脚芯片的定位算法作进一步说明,本实施方式中,步骤一中,模板图像ik,α(x,y)的绘制方法为:

根据芯片实体的型号信息,得到芯片每个引脚相对于芯片中心的位置和每个引脚的长宽,设芯片中心的坐标原点为(0,0),则能够得到每个引脚的四个顶点的坐标;

设其中一个引脚的四个顶点坐标为(xi,yi),i=1,2,3,4,按次序分别为引脚左下顶点、左上顶点、右上顶点、右下顶点坐标,设引脚的宽度为wl,引脚的长度为hl,则x3-x2=x4-x1=wl,y2-y1=y3-y4=hl,设需要绘制的模板图像的角度为α,缩放的比例为k,

经过旋转变换的四个顶点坐标为(xi',yi'),i=1,2,3,4,则xi'=(xicosα-yisinα)/k,yi'=(xisinα+yicosα)/k,

然后绘制三条线段作为该引脚的模板,第一条线段顶点为(x'2,y'2)和(x'3,y'3),长度为wl;第二条线段顶点为(x'2,y'2)和(2x'2/3+x1'/3,2y'2/3+y1'/3),长度为hl/3;第三条线段顶点为(x'3,y'3)和(2x'3/3+x'4/3,2y'3/3+y'4/3),长度为hl/3,在黑色背景图像下为每个引脚均绘制三条白色线段,作为一个角度和缩放比例的模板图像。

具体实施方式三:本实施方式是对具体实施方式一所述的一种基于模板匹配的带矩形引脚芯片的定位算法作进一步说明,本实施方式中,步骤八中,模板图像芯片角点坐标集st通过模板图像角度α1和位置坐标(x0,y0)进行仿射变换,得到原图像角点坐标集的具体过程为:

设原图像角点坐标集为

具体实施方式四:本实施方式是对具体实施方式一所述的一种基于模板匹配的带矩形引脚芯片的定位方法作进一步说明,本实施方式中,步骤十中,将模板图像芯片角点坐标集st和精确角点坐标集sm进行匹配,得到芯片实体相对于模板图像精确的旋转角度α*和芯片实体中心相对于模板图像中心精确的偏移位置坐标(x*,y*)的具体过程为:

设模板图像芯片角点坐标集精确角点坐标集

模板图像芯片角点坐标集st的点坐标均值为精确角点坐标集sm的点目标均值为根据公式:

获得芯片实体相对于模板图像精确的旋转角度α*为:

获得芯片实体中心相对于模板图像中心精确的偏移位置坐标(x*,y*)为:

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1