CN110658215A - 一种基于机器视觉的pcb板自动拼接检测方法与装置 - Google Patents
一种基于机器视觉的pcb板自动拼接检测方法与装置 Download PDFInfo
- Publication number
- CN110658215A CN110658215A CN201910938107.3A CN201910938107A CN110658215A CN 110658215 A CN110658215 A CN 110658215A CN 201910938107 A CN201910938107 A CN 201910938107A CN 110658215 A CN110658215 A CN 110658215A
- Authority
- CN
- China
- Prior art keywords
- image
- contourimage
- points
- pcb board
- machine vision
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/95—Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
- G01N21/956—Inspecting patterns on the surface of objects
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/95—Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
- G01N21/956—Inspecting patterns on the surface of objects
- G01N2021/95638—Inspecting patterns on the surface of objects for PCB's
Landscapes
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Biochemistry (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Immunology (AREA)
- Pathology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明属于PCB板加工检测技术领域,公开了一种基于机器视觉的PCB板自动拼接检测方法与装置,识别出功能单元在图上的顶点坐标,总宽度,总高度,识别出与图像各边界的距离,并且得到两行功能单位之间的间距,两列功能单位之间的间距,以及PCB板与相机的偏移角度;动态计算工作台的移动距离,使图像满足图像识别算法的基本要求;控制功能单元与图像边界的距离,按移动轨迹进行拼接得到完整PCB板的高清图像,并检查处瑕疵点的所在位置。本发明经过改良后,每次都是只对一幅图的检测,不会出现操作移动中的模糊图像,减小操作者疲劳;便于在实物上找到相应位置,标识出来;能够满足工业要求,其扩展性大大的提升了。
Description
技术领域
本发明属于PCB板加工技术领域,尤其涉及一种基于机器视觉的PCB板自动拼接检测方法与装置。
背景技术
目前,最接近的现有技术:
PCB板在生产加工过程中,由于生产条件限制,总是难免出现部分瑕疵,为了使得投入使用的PCB板是完好的,必须对其进行检测,由于PCB板上的功能单元较小,其瑕疵点也较小,直接在一块功能单元密集的PCB板上去检查每个功能单元是否存在瑕疵是一件很困难的事情。
过去的检测方式为人手工移动PCB板,分区域检测。容易疲劳,不方便定位错误码,也无法追溯数据。
在图像自动拼接方面,过去的方式大多采用对比PCB母版与子版之间的位置差距,为此还需要在PCB母版上制造一个特殊的定位标记,虽然可靠性较高,但是可扩展性能较差,针对单一的PCB板的效果良好,不足以支持多种PCB板的检测要求。
综上所述,现有技术存在的问题是:
(1)现有的技术方式中,让检测人员在相机镜头下手工的移动PCB板,分区域检测,容易疲劳,不方便去定位错误码,也无法追溯其数据来源,而且漏检、误检的概率非常高,无法满足工业上对于PCB板完好性的要求。
(2)现有技术虽然进行半自动化检测,但是其只针对单一的PCB板,还需要在PCB母版上做出特殊标记,以便定位、对比误差等等,其可扩展性能差。
解决上述技术问题的难度:
需要对所有的PCB板进行数据记录,建立对应的数据库。
为满足工业需求,需要将精度控制在±0.01mm范围内。
PCB板的种类繁多,不利于做算法识别。
解决上述技术问题的意义:
本发明大大的降低了企业的人工成本。
本发明降低了操作人员的工作量。
本发明该算法具有通用性,使的同一类型的PCB板识别变得简单,只需要在该算法基础上,进行二次开发即可,适用于多种PCB板的半自动识别。
发明内容
针对现有技术存在的问题,本发明提供了一种基于机器视觉的PCB板自动拼接检测方法与装置。采用本发明可以将该手动移动过程改为半自动检测,根据PCB板的大小,在一块PCB板上划分出M*N个XW_Yh(mm2)的区域,根据系统反馈参数使用电机来移动PCB板,在每个区域上进行拍照取图,每次检测的都是一副图像,不会出现操作移动中的模糊图像,减小疲劳。在显示的区域上找到瑕疵,手工标记后,生成位置数据,便于在实物上找到相应位置,标识出来。由于存有拼合后整图像数据,也便于追溯。而且本发明可以实现对具有同一类特征功能单元的PCB板进行半自动识别,其效果良好,可扩展性强,能够满足工业上对其精度的要求
本发明是这样实现的,一种基于机器视觉的PCB板自动拼接检测方法,包括以下步骤:
第一步,对待检测图像划分区域,划分区域图像中包含完整的n行m列的功能单元,或不完整的功能单元;
第二步,识别出该n行m列的功能单元在图上的四个顶点坐标P1、P2、P3、P4,总宽度W,总高度H,识别出与图像各边界的距离WL、WR、WU、WD,并且得到两行功能单位之间的间距h,两列功能单位之间的间距w,以及PCB板与相机的偏移角度θ;将WL、WR、WU、WD参数按一定规则保存在本地,并且从图中提取出由点P1、P2、P3、P4所划分的区域,以大小为W*H的图片的形式保存在本地;
第三步,通过计算P1、P2、P3、P4与WL、WR、WU、WD的关系,动态计算工作台的移动距离,使得下一次拍照时,其图像满足图像识别算法的基本要求;
第四步,待所有PCB板局部图像均保存下来后,根据与图片对应的参数,从图中提取出一个完整的n*m的功能单元图,控制功能单元与图像边界的距离,按移动轨迹进行拼接得到完整PCB板的高清图像,并检查处瑕疵点的所在位置。
进一步,第一步具体包括:使用高精度相机,在PCB板的右上角拍摄第一幅分辨率为XXXX_YYYY的图像,该图像内有且只有n*m的完整的功能单元,并且是以n行m列的形式在图中,n*m个完整的功能单元周边必须有一定间隙的空白区域,允许图片四周出现其他不完整的功能单元。
进一步,步骤三中,图像分析算法包括:
1)对原图A进行canny算子滤波处理,得到图像B;
2)利用弹球模型理论,以起点(0,0)对图B进行分析,得到两组边界点集;因为图片内的功能单元是n*m个,则根据这两组边界点集去分析得到m+1个点,再分别以这m+1个点为起点,利用弹球模型理论,分析后,得到(m+1)*2组边界点集;
3)利用这(m+1)*2组边界点集,使用带有负反馈机制的霍夫直线检测,严格保证得到的直线数量是(m+1)*2条直线,按照X轴坐标的大小,将这(m+1)*2条直线进行排序;
4)对(m+1)*2组边界点集中的任意两组相关点集进行分析,计算出n+1个点,然后分别以这n+1个点为起点,利用弹球模型理论,分析后,得到(n+1)*2组边界点集;
5)利用这(n+1)*2组边界点集,使用带有负反馈机制的霍夫直线检测,严格保证得到的直线数量是(n+1)*2条直线,按照Y轴坐标的大小,将这(n+1)*2条直线进行排序;
6)得到(m+1)*2条横向直线、(n+1)*2条纵向直线后,则求出WL、WR、WU、WD参数。
进一步,步骤4)中,弹球模型理论包括:
S1:在图上任取一像素点坐标为起点P,规定迭代方向,则运算方向与迭代方向垂直,并且沿着坐标轴正方向;
S2:以起点P为基础,沿着运算方向,检查其每个像素点的像素值,检测到某一点的像素值不为0或者超出图片边界范围,则认定该方向上的检查结束,将该点的坐标记录在数组V0中;
S3:以起点P为基础,逆着运算方向,检查其每个像素点的像素值,检测到某一点的像素值不为0或者超出图片边界范围,则认定该方向上的检查结束,将该点的坐标记录在数组V1中;
S4:将起点P的坐标,沿着迭代方向前进一个单位,重复步骤S2、S3,直至起点P的坐标超出图片范围,则计算结束。
进一步,步骤三中,图像分析算法进一步包括:
i)对原图像进行canny算子滤波,得到了轮廓图contourImage,然后利用弹球模型,规定起点P为图片左上角坐标(0,0),迭代方向为沿着X轴正方向,得到含有部分轮廓的轮廓图contourImage_0;
ii)从轮廓图contourImage_0中找到最下面一行像素值不为0的点,对这些点,按照距离范围分组,形成4组点,统计出每一组的点的横坐标的中位数,得到4个点,将4个点的横坐标存在数组vecInt_start_x中;
iii)以遍历的方式,以数组vecInt_start_x中的值为横坐标,0为纵坐标,设置起点坐标,轮廓图contourImage为输入图像,迭代方向为Y轴正方向,利用弹球模型去计算出其对应的新的轮廓图contourImage_1、contourImage_2、contourImage_3、contourImage_4;
iv)分别对每个轮廓图contourImage_1、contourImage_2、contourImage_3、contourImage_4采用霍夫直线检测,得到若干条直线,直线不满足一定条件,则自动修改霍夫直线检测的参数,再进行一次霍夫直线检测,直到计算次数超过一定量或者得到的直线满足规定条件时结束,将得到的直线按顺序存入数组vecLine_h中;
v)从轮廓图contourImage_4中找到最左边一列像素值不为0的点,对这些点,按照距离范围分组,形成3组点,统计出每一组的点的纵坐标的中位数,得到3个点,将3个点的纵坐标存在数组vecInt_start_y中;
vi)以遍历的方式,以0为横坐标,数组vecInt_start_y中的值为纵坐标,设置起点坐标,轮廓图contourImage为输入图像,迭代方向为Y轴正方向,利用弹球模型去计算出其对应的新的轮廓图contourImage_5、contourImage_6、contourImage_7;
vii)分别对每个轮廓图contourImage_5、contourImage_6、contourImage_7采用霍夫直线检测,得到若干条直线,如果直线不满足一定条件,则自动修改霍夫直线检测的参数,再进行一次霍夫直线检测,直到计算次数超过一定量或者得到的直线满足规定条件时结束,将得到的直线按顺序存入数组vecLine_v中。根据计算vecLine_h第n条直线与vecLine_v中第m条直线的交点,得到一系列特征点,做到计算该2行3列的功能单元在图上的顶点坐标P1、P2、P3、P4,总宽度W,总高度H,与图像各边界的距离WL、WR、WU、WD,两行功能单位之间的间距h,两列功能单位之间的间距w,以及其PCB板与相机的偏移角度θ。
进一步,第四步,检查处瑕疵点的所在位置的方法包括:在完整的PCB板图上,定位所述高清图像绝对坐标,将该瑕疵点在该高清图像上以及完整PCB板图上的绝对坐标记录在数据库中,进行数据追溯。
本发明的另一目的在于提供一种实现所述基于机器视觉的PCB板自动拼接检测方法的信息数据处理终端。
本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的基于机器视觉的PCB板自动拼接检测方法。
本发明的另一目的在于提供一种实现所述基于机器视觉的PCB板自动拼接检测方法的基于机器视觉的PCB板自动拼接检测装置,所述基于机器视觉的PCB板自动拼接检测装置上方为固定相机,下方为具有X轴、Y轴方向平移自由度的工作平台。还包括控制相机位置的十字滑台、控制工作平台移动的步进电机、防止平台走出运动范围的霍尔传感器以及相应的电路控制柜。
综上所述,本发明的优点及积极效果为:
本发明为了解决其功能单元较小,不方便检查的缺陷,使用高精度相机对其局部进行高分辨率的拍照,每一次拍照都是将一个实际大小约为6mm*4mm的矩形区域转化成一张分辨率为1920*1080的高清图像,用大屏的高清分辨率显示器显示这幅图像,可以将其功能单元进行无损放大处理,方便工作人员检查瑕疵点。
本发明经过改良后,采用了半自动模式,分区域自动拍照,然后拆分成合理的区域,每次都是只对一幅图的检测,不会出现操作移动中的模糊图像,减小疲劳。当工人在显示的区域上找到瑕疵,手工标记后,则可以生成其瑕疵点的位置数据,便于在实物上找到相应位置,标识出来。
经过本技术改良之后,本发明可以实现对具有同一类特征功能单元的PCB板进行半自动识别,再经过少许的针对性校正后,其可靠性能够满足工业要求,其扩展性大大的提升了。
由于单张的图片并不能满足在实物上定位瑕疵点的功能,本发明将相机对每个PCB板所拍摄的照片按照一定的精度要求将其拼接成一张高分辨率的图像,方便工作人员进行瑕疵点定位,可以进行数据追溯。
附图说明
图1是本发明实施例提供的拍照取图装置示意图。
图中:1、十字滑台;2、电路控制柜;3、相机;4、被检测PCB;5、PCB固定板;6、工作平台;7、步进电机;8、霍尔传感器。
图2是本发明实施例提供的多种PCB板功能单元示意图。
图中:(a)PCB板型号一;(b)PCB板型号二;(c)PCB板型号三;(d)PCB板型号四。
图3是本发明实施例提供的图像参数位置示意图。
图4是本发明实施例提供的系统操作流程图。
图5是本发明实施例提供的局部区域划分示意图。
图中:(a)相机拍摄原始图像;(b)区域分块图。
图6是本发明实施例提供的图像分析算法流程图。
图7是本发明实施例提供的轮廓图contourImage。
图8是本发明实施例提供的轮廓图contourImage_0。
图9是本发明实施例提供的轮廓图contourImage_1。
图中:(a)弹性模型识别结果图;(b)霍夫直线检测效果图。
图10是本发明实施例提供的轮廓图contourImage_2。
图中:(a)弹性模型识别结果图;(b)霍夫直线检测效果图。
图11是本发明实施例提供的轮廓图contourImage_3。
图中:(a)弹性模型识别结果图;(b)霍夫直线检测效果图。
图12是本发明实施例提供的轮廓图contourImage_4。
图中:(a)弹性模型识别结果图;(b)霍夫直线检测效果图。
图13是本发明实施例提供的轮廓图contourImage_5。
图中:(a)弹性模型识别结果图;(b)霍夫直线检测效果图。
图14是本发明实施例提供的轮廓图contourImage_6。
图中:(a)弹性模型识别结果图;(b)霍夫直线检测效果图。
图15是本发明实施例提供的轮廓图contourImage_7。
图中:(a)弹性模型识别结果图;(b)霍夫直线检测效果图。
图16是本发明实施例提供的图像分析算法效果示意图。
图17是本发明实施例提供的PCB板局部图.
图中:(a)局部图一;(b)局部图二;(c)局部图三。
图18是本发明实施例提供的拼接效果示意图。
图19是本发明实施例提供的全板测量模式示意图。
图20是本发明实施例提供的瑕疵标记示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现有的技术方式中,让检测人员在相机镜头下手工的移动PCB板,分区域检测,容易疲劳,不方便去定位错误码,也无法追溯其数据来源,而且漏检、误检的概率非常高,无法满足工业上对于PCB板完好性的要求。现有技术虽然进行半自动化检测,但是其只针对单一的PCB板,还需要在PCB母版上做出特殊标记,以便定位、对比误差等等,其可扩展性能差。
针对现有技术存在的问题,本发明提供了一种基于机器视觉的PCB板自动拼接检测方法与装置,下面结合附图对本发明作详细的描述。
本发明实施例提供的拍照取图装置,包括:十字滑台1、电路控制柜2、相机3、被检测PCB 4、PCB固定板5、工作平台6、步进电机7、霍尔传感器8。
上方为相机3,下方为一个自由度为2的工作平台6,允许其有X轴、Y轴两个方向的平移自由度,根据不同被检测PCB板4,被检测PCB板4被PCB固定板5固定。在拍摄前,可以人工调整相机3高度,寻找最合适的拍摄高度,开始拍摄后,根据系统反馈的参数,移动该工作平台,由于相机3所拍摄的部分只有约Xw_Yh(mm2)的范围,所以,相机镜头不可能与工作平台保持绝对的平行与垂直,会与工作平台6呈现出一定角度的微小偏移,拍照取图装置还包括控制相机位置的十字滑台1、控制工作平台6、移动的步进电机7、防止平台走出运动范围的霍尔传感器8以及相应的电路控制柜2;其模型,如图1所示。
如果采用固定移动距离的方式移动移动工作平台,会使得该偏移在经过累加后对拍照的品质影响极大,导致其相机实际拍摄区域与理想拍摄区域出现较大波动,为了调节这种机械误差,采用负反馈机制,分析上一次拍摄的图片,根据图片内的信息,得到一系列参数,来修正工作平台的移动距离,使得所拍摄区域与理想拍摄区域趋于一致。
下面为几种PCB板由该设备拍摄出的效果图,如图2所示。(a)PCB板型号一。(b)PCB板型号二。(c)PCB板型号三。(d)PCB板型号四。
在本发明中,检测要求有:
第一,对PCB板进行拍照时,第一幅图像必须人为的确定满足图像识别的要求。
第二,安放PCB板的工作平台与相机夹角不能出现肉眼明显可见的角度偏移。
第三,相机镜头不能允许有明显污渍,要保持操作台的整洁。
在本发明中,负反馈机制修正工作平台移动模型分析,如图19。
其负反馈机制修正工作平台移动,拍摄PCB板局部图的工作示意图如下图全板测量模式示意图所示。黑色圆点表示相机拍摄照片的中心点,黑色虚线代表PCB板与相机之间的偏移方向。相机在拍摄第一幅图像后,通过分析其位于第几个黑色圆点处,而决定下一次的移动方向。在判断移动方向后,根据其图像分析结果,求出X0、Y0的大小,按照该值的结果移动工作平台,然后继续拍摄图像,如果中途发现有某次相片不符合结果,则需要报警,提醒工作人员来手动操作。
在本发明中,PCB板模型分析:
根据图1所示几种PCB板实际拍照所的图片样式,可以将PCB板抽象成模型图,如下图2所示,将其特征点抽象的表示出来,该n行m列的功能单元在图上的顶点坐标P1、P2、P3、P4,总宽度W,总高度H,其与图像各边界的距离WL、WR、WU、WD,两行功能单位之间的间距h,两列功能单位之间的间距w,以及其PCB板与相机的偏移角度θ。将这些参数抽象的表示出来,就如图2所示。
由于工作台与相机的相对位置、工作台与PCB板的相对位置不能保证严格的平行与垂直关系,即便前期可以保证其满足精度要求的平行与垂直,随着其使用年限增加,误差也会被放大,需要花费时间与精力去重新调整,得不偿失,而且相机每次拍摄的区域只有约Xw_Yh(mm2)的范围,所以在最终成像时,这种安装误差系数被放大许多,故机械的改变相机与工作平台的相对位置来进行拍照取图的方式效果并不理想。
为了解决这种误差,采用负反馈调节机制来动态的规划相机与工作平台的相对位置关系,从而保证相机所拍摄到的每一张图片都是满足要求的好图。图像参数位置示意图如图3所示。
如图4所示,操作步骤分析如下:
第一步,使用高精度相机,在PCB板的右上角拍摄第一幅分辨率为XXXX_YYYY的图像,要求该图像内有且只有n*m的完整的功能单元,并且是以n行m列的形式在图中,n*m个完整的功能单元周边必须有一定间隙的空白区域,允许图片四周出现其他不完整的功能单元。
第二步,对该图像进行分析,得出一系列的参数,将该图片与参数按照一定规律储存,便于之后的图像拼接以及日后的数据回溯。
第三步,根据这些参数,计算出工作平台的移动方式,动态的调整安放PCB板的工作台的位置,改变相机下所拍摄到的PCB的区域,使得其拍摄出来的图像,满足第一步中对图像的要求,再进行一次拍摄,重复第二步跟第三步,直至该PCB板的所有区域都已经拍摄和分析完毕。
第四步,分析与图片对应的参数,从对应的图像中,提取出一个固定大小的区域,该区域满足的要求为其内部包含且只包含一个完整的n*m的功能单元,其他地方全部为背景,并且该区域的边缘与功能单元的距离满足像素级别的精度要求,对所有保存的参数都做以上处理,将得到的所有区域按照拍摄轨迹拼接成一副完整的PCB板图像。
下面结合具体实施例对本发明作进一步描述。
本发明实施例提供的基于机器视觉的PCB板自动拼接检测方法包括以下步骤:
第一步,图5为局部区域划分示意图,假设待检测图像如图5(a)相机拍摄原始图像所示,根据其特征,将其划分区域,如图5(b)区域分块图显示。可见图像包含一个完整的2行3列的功能单元,而且图像下方和左侧出现了不完整的功能单元,这是允许的。
第二步,需要识别出该2行3列的功能单元在图上的四个顶点坐标P1、P2、P3、P4,总宽度W,总高度H,识别出其与图像各边界的距离WL、WR、WU、WD,并且得到两行功能单位之间的间距h,两列功能单位之间的间距w,以及其PCB板与相机的偏移角度θ。将这些参数按一定规则保存在本地,并且从图中提取出由点P1、P2、P3、P4所划分的区域,以大小为W*H的图片的形式保存在本地。
第三步,通过计算P1、P2、P3、P4与WL、WR、WU、WD的关系,动态计算工作台的移动距离,使得下一次拍照时,其图像满足图像识别算法的基本要求。
第四步,待所有PCB板局部图像均保存下来后,根据与图片对应的参数,从图中提取出一个完整的2*3的功能单元图,严格控制其功能单元与图像边界的距离,按其移动轨迹进行拼接得到完整PCB板的高清图像,方便检查瑕疵点的所在位置。
在本发明实施例中,图像分析算法包括:
为了能到得到用于上述第三步所述的参数,则需要对图像进行分析,提取出其特征参。
首先对原图A进行canny算子滤波处理,得到图像B,然后利用弹球模型理论,以起点(0,0)对图B进行分析,可以得到两组边界点集。
因为图片内的功能单元是n*m个,则根据这两组边界点集去分析得到m+1个点,然后分别以这m+1个点为起点,利用弹球模型理论,分析之后,可以得到(m+1)*2组边界点集。
利用这(m+1)*2组边界点集,使用带有负反馈机制的霍夫直线检测,严格保证得到的直线数量是(m+1)*2条直线,按照X轴坐标的大小,将这(m+1)*2条直线进行排序。
再对(m+1)*2组边界点集中的任意两组相关点集进行分析,计算出n+1个点,然后分别以这n+1个点为起点,利用弹球模型理论,分析之后,可以得到(n+1)*2组边界点集。
利用这(n+1)*2组边界点集,使用带有负反馈机制的霍夫直线检测,严格保证得到的直线数量是(n+1)*2条直线,按照Y轴坐标的大小,将这(n+1)*2条直线进行排序。
得到(m+1)*2条横向直线、(n+1)*2条纵向直线之后,则可以求出图3所示的参数。其算法流程图,如下图6所示。
在本发明实施例中,弹球模型理论包括:
S1:在图上任取一像素点坐标为起点P,规定迭代方向(沿着X轴方向或者Y轴方向),则运算方向与迭代方向垂直,并且沿着坐标轴正方向。
S2:以起点P为基础,沿着运算方向,检查其每个像素点的像素值,检测到某一点的像素值不为0(既不是黑色)或者超出图片边界范围,则认定该方向上的检查结束,将该点的坐标记录在数组V0中。
S3:以起点P为基础,逆着运算方向,检查其每个像素点的像素值,检测到某一点的像素值不为0(既不是黑色)或者超出图片边界范围,则认定该方向上的检查结束,将该点的坐标记录在数组V1中。
S4:将起点P的坐标,沿着迭代方向前进一个单位,重复步骤S2、S3,直至起点P的坐标超出图片范围,则计算结束。
根据以上步骤,可以得到两组边界点集,利用这两组边界点集。
作为本发明优选实施例,具体图像分析算法流程包括:
以图2(a)中的PCB板为例进行分析,首先需要对原图像进行canny算子滤波,得到了图7轮廓图contourImage,然后利用弹球模型,规定起点P为图片左上角坐标(0,0),迭代方向为沿着X轴正方向,得到含有部分轮廓的轮廓图contourImage_0(如图8)。
从轮廓图contourImage_0中找到最下面一行像素值不为0的点,对这些点,按照距离范围分组,形成4组点,统计出每一组的点的横坐标的中位数,得到4个点,将4个点的横坐标存在数组vecInt_start_x中。
以遍历的方式,以数组vecInt_start_x中的值为横坐标,0为纵坐标,设置起点坐标,轮廓图contourImage为输入图像,迭代方向为Y轴正方向,利用弹球模型去计算出其对应的新的轮廓图contourImage_1、contourImage_2、contourImage_3、contourImage_4。
分别对每个轮廓图contourImage_1、contourImage_2、contourImage_3、contourImage_4采用霍夫直线检测,得到若干条直线,如果直线不满足一定条件,则自动修改霍夫直线检测的参数,再进行一次霍夫直线检测,直到计算次数超过一定量或者得到的直线满足规定条件时结束,将得到的直线按顺序存入数组vecLine_h中。
从轮廓图contourImage_4中找到最左边一列像素值不为0的点,对这些点,按照距离范围分组,形成3组点,统计出每一组的点的纵坐标的中位数,得到3个点,将3个点的纵坐标存在数组vecInt_start_y中。
以遍历的方式,以0为横坐标,数组vecInt_start_y中的值为纵坐标,设置起点坐标,轮廓图contourImage为输入图像,迭代方向为Y轴正方向,利用弹球模型去计算出其对应的新的轮廓图contourImage_5、contourImage_6、contourImage_7。
分别对每个轮廓图contourImage_5、contourImage_6、contourImage_7采用霍夫直线检测,得到若干条直线,如果直线不满足一定条件,则自动修改霍夫直线检测的参数,再进行一次霍夫直线检测,直到计算次数超过一定量或者得到的直线满足规定条件时结束,将得到的直线按顺序存入数组vecLine_v中。
将vecLine_h中的线以蓝色表示,vecLine_v中的线以红色表示,画在原图中,效果如图16所示。根据计算vecLine_h第n条直线与vecLine_v中第m条直线的交点,可以得到一系列特征点,从而做到计算该2行3列的功能单元在图上的顶点坐标P1、P2、P3、P4,总宽度W,总高度H,其与图像各边界的距离WL、WR、WU、WD,两行功能单位之间的间距h,两列功能单位之间的间距w,以及其PCB板与相机的偏移角度θ。
在本发明实施例中,图7是本发明实施例提供的轮廓图contourImage。
图8是本发明实施例提供的轮廓图contourImage_0。
图9是本发明实施例提供的轮廓图contourImage_1。
图中:(a)弹性模型识别结果图;(b)霍夫直线检测效果图。
图10是本发明实施例提供的轮廓图contourImage_2。
图中:(a)弹性模型识别结果图;(b)霍夫直线检测效果图。
图11是本发明实施例提供的轮廓图contourImage_3。
图中:(a)弹性模型识别结果图;(b)霍夫直线检测效果图。
图12是本发明实施例提供的轮廓图contourImage_4。
图中:(a)弹性模型识别结果图;(b)霍夫直线检测效果图。
图13是本发明实施例提供的轮廓图contourImage_5。
图中:(a)弹性模型识别结果图;(b)霍夫直线检测效果图。
图14是本发明实施例提供的轮廓图contourImage_6。
图中:(a)弹性模型识别结果图;(b)霍夫直线检测效果图。
图15是本发明实施例提供的轮廓图contourImage_7。
图中:(a)弹性模型识别结果图;(b)霍夫直线检测效果图。
图16是本发明实施例提供的图像分析算法效果示意图。
图17是本发明实施例提供的PCB板局部图。
图中:(a)局部图一;(b)局部图二;(c)局部图三。
图18是本发明实施例提供的拼接效果示意图。
下面结合瑕疵检测部分对本发明作进一步描述。
根据工艺要求只显示O*P的对象,将其对应的图片显示出来,用于人工检测,手动的点击瑕疵点后,会在该图上显示记录,还会在完整的PCB板图上,定位其绝对坐标,将该瑕疵点在该图上以及完整PCB板图上的绝对坐标记录在数据库中,方便数据追溯。
如瑕疵标记示意图20所示,其为PCB拼接板的示意图,每个格子内有O*P个功能单元,检查时,将某个格子内的图像提取出来,显示在高清显示器中,方便操作人员人工检查瑕疵。如果发现有瑕疵点,如图上黑点就表示一个瑕疵点,其有两个坐标,一个是相对于该格子的相对坐标,一个是相对于PCB拼接图的绝对坐标。
操作人员只需要在显示器上点击一次,系统则会记录瑕疵点的位置,将两个坐标都进行保存至数据库中,相应的还会记录下是第几个格子,哪一块PCB板,这样就做到了数据追溯的功能。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于机器视觉的PCB板自动拼接检测方法,其特征在于,所述基于机器视觉的PCB板自动拼接检测方法包括以下步骤:
第一步,对待检测图像划分区域,划分区域图像中包含完整的n行m列的功能单元,或不完整的功能单元;
第二步,识别出该n行m列的功能单元在图上的四个顶点坐标P1、P2、P3、P4,总宽度W,总高度H,识别出与图像各边界的距离WL、WR、WU、WD,并且得到两行功能单位之间的间距h,两列功能单位之间的间距w,以及PCB板与相机的偏移角度θ;将WL、WR、WU、WD参数按一定规则保存在本地,并且从图中提取出由点P1、P2、P3、P4所划分的区域,以大小为W*H的图片的形式保存在本地;
第三步,通过计算P1、P2、P3、P4与WL、WR、WU、WD的关系,动态计算工作台的移动距离,使得下一次拍照时,其图像满足图像识别算法的基本要求;
第四步,待所有PCB板局部图像均保存下来后,根据与图片对应的参数,从图中提取出一个完整的n*m的功能单元图,控制功能单元与图像边界的距离,按移动轨迹进行拼接得到完整PCB板的高清图像,并检查处瑕疵点的所在位置。
2.如权利要求1所述的基于机器视觉的PCB板自动拼接检测方法,其特征在于,第一步具体包括:使用高精度相机,在PCB板的右上角拍摄第一幅分辨率为XXXX_YYYY的图像,该图像内有且只有n*m的完整的功能单元,并且是以n行m列的形式在图中,n*m个完整的功能单元周边必须有一定间隙的空白区域,允许图片四周出现其他不完整的功能单元。
3.如权利要求1所述的基于机器视觉的PCB板自动拼接检测方法,其特征在于,步骤三中,图像分析算法包括:
1)对原图A进行canny算子滤波处理,得到图像B;
2)利用弹球模型理论,以起点(0,0)对图B进行分析,得到两组边界点集;因为图片内的功能单元是n*m个,则根据这两组边界点集去分析得到m+1个点,再分别以这m+1个点为起点,利用弹球模型理论,分析后,得到(m+1)*2组边界点集;
3)利用这(m+1)*2组边界点集,使用带有负反馈机制的霍夫直线检测,严格保证得到的直线数量是(m+1)*2条直线,按照X轴坐标的大小,将这(m+1)*2条直线进行排序;
4)对(m+1)*2组边界点集中的任意两组相关点集进行分析,计算出n+1个点,然后分别以这n+1个点为起点,利用弹球模型理论,分析后,得到(n+1)*2组边界点集;
5)利用这(n+1)*2组边界点集,使用带有负反馈机制的霍夫直线检测,严格保证得到的直线数量是(n+1)*2条直线,按照Y轴坐标的大小,将这(n+1)*2条直线进行排序;
6)得到(m+1)*2条横向直线、(n+1)*2条纵向直线后,则求出WL、WR、WU、WD参数。
4.如权利要求3所述的基于机器视觉的PCB板自动拼接检测方法,其特征在于,步骤4)中,弹球模型理论包括:
S1:在图上任取一像素点坐标为起点P,规定迭代方向,则运算方向与迭代方向垂直,并且沿着坐标轴正方向;
S2:以起点P为基础,沿着运算方向,检查其每个像素点的像素值,检测到某一点的像素值不为0或者超出图片边界范围,则认定该方向上的检查结束,将该点的坐标记录在数组V0中;
S3:以起点P为基础,逆着运算方向,检查其每个像素点的像素值,检测到某一点的像素值不为0或者超出图片边界范围,则认定该方向上的检查结束,将该点的坐标记录在数组V1中;
S4:将起点P的坐标,沿着迭代方向前进一个单位,重复步骤S2、S3,直至起点P的坐标超出图片范围,则计算结束。
5.如权利要求3所述的基于机器视觉的PCB板自动拼接检测方法,其特征在于,步骤三中,图像分析算法进一步包括:i)对原图像进行canny算子滤波,得到了轮廓图contourImage,然后利用弹球模型,规定起点P为图片左上角坐标(0,0),迭代方向为沿着X轴正方向,得到含有部分轮廓的轮廓图contourImage_0;
ii)从轮廓图contourImage_0中找到最下面一行像素值不为0的点,对这些点,按照距离范围分组,形成4组点,统计出每一组的点的横坐标的中位数,得到4个点,将4个点的横坐标存在数组vecInt_start_x中;
iii)以遍历的方式,以数组vecInt_start_x中的值为横坐标,0为纵坐标,设置起点坐标,轮廓图contourImage为输入图像,迭代方向为Y轴正方向,利用弹球模型去计算出其对应的新的轮廓图contourImage_1、contourImage_2、contourImage_3、contourImage_4;
iv)分别对每个轮廓图contourImage_1、contourImage_2、contourImage_3、contourImage_4采用霍夫直线检测,得到若干条直线,直线不满足一定条件,则自动修改霍夫直线检测的参数,再进行一次霍夫直线检测,直到计算次数超过一定量或者得到的直线满足规定条件时结束,将得到的直线按顺序存入数组vecLine_h中;
v)从轮廓图contourImage_4中找到最左边一列像素值不为0的点,对这些点,按照距离范围分组,形成3组点,统计出每一组的点的纵坐标的中位数,得到3个点,将3个点的纵坐标存在数组vecInt_start_y中;
vi)以遍历的方式,以0为横坐标,数组vecInt_start_y中的值为纵坐标,设置起点坐标,轮廓图contourImage为输入图像,迭代方向为Y轴正方向,利用弹球模型去计算出其对应的新的轮廓图contourImage_5、contourImage_6、contourImage_7;
vii)分别对每个轮廓图contourImage_5、contourImage_6、contourImage_7采用霍夫直线检测,得到若干条直线,如果直线不满足一定条件,则自动修改霍夫直线检测的参数,再进行一次霍夫直线检测,直到计算次数超过一定量或者得到的直线满足规定条件时结束,将得到的直线按顺序存入数组vecLine_v中;
根据计算vecLine_h第n条直线与vecLine_v中第m条直线的交点,得到一系列特征点,做到计算该2行3列的功能单元在图上的顶点坐标P1、P2、P3、P4,总宽度W,总高度H,与图像各边界的距离WL、WR、WU、WD,两行功能单位之间的间距h,两列功能单位之间的间距w,以及其PCB板与相机的偏移角度θ。
6.如权利要求3所述的基于机器视觉的PCB板自动拼接检测方法,其特征在于,第四步,检查处瑕疵点的所在位置的方法包括:
在完整的PCB板图上,定位所述高清图像绝对坐标,将该瑕疵点在该高清图像上以及完整PCB板图上的绝对坐标记录在数据库中,进行数据追溯。
7.一种实现权利要求1~6任意一项所述基于机器视觉的PCB板自动拼接检测方法的信息数据处理终端。
8.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-6任意一项所述的基于机器视觉的PCB板自动拼接检测方法。
9.一种实现权利要求1~6任意一项所述基于机器视觉的PCB板自动拼接检测方法的基于机器视觉的PCB板自动拼接检测装置,其特征在于,所述基于机器视觉的PCB板自动拼接检测装置上方为相机,下方为具有X轴、Y轴方向平移自由度的工作平台。
10.如权利要求9所述的基于机器视觉的PCB板自动拼接检测装置,其特征在于,所述基于机器视觉的PCB板自动拼接检测装置还包括控制固定相机位置的十字滑台、控制工作平台移动的步进电机、防止工作平台走出运动范围的霍尔传感器以及相应的电路控制柜。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910938107.3A CN110658215B (zh) | 2019-09-30 | 2019-09-30 | 一种基于机器视觉的pcb板自动拼接检测方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910938107.3A CN110658215B (zh) | 2019-09-30 | 2019-09-30 | 一种基于机器视觉的pcb板自动拼接检测方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110658215A true CN110658215A (zh) | 2020-01-07 |
CN110658215B CN110658215B (zh) | 2022-04-22 |
Family
ID=69040154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910938107.3A Active CN110658215B (zh) | 2019-09-30 | 2019-09-30 | 一种基于机器视觉的pcb板自动拼接检测方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110658215B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113379668A (zh) * | 2021-08-12 | 2021-09-10 | 浙江华睿科技股份有限公司 | 光伏板拼接方法及装置、电子设备及存储介质 |
CN113670949A (zh) * | 2021-08-27 | 2021-11-19 | 惠州市特创电子科技股份有限公司 | 一种大型电路板步进检查机的分区检查方法 |
CN114372440A (zh) * | 2021-12-20 | 2022-04-19 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 三维集成电路结构的版图图像获取方法和获取系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6408105B1 (en) * | 1998-05-12 | 2002-06-18 | Advantest Corporation | Method for detecting slope of image data utilizing hough-transform |
JP2003098216A (ja) * | 2001-09-27 | 2003-04-03 | Hioki Ee Corp | 回路基板検査装置 |
US20040022451A1 (en) * | 2002-07-02 | 2004-02-05 | Fujitsu Limited | Image distortion correcting method and apparatus, and storage medium |
CN102855472A (zh) * | 2012-08-14 | 2013-01-02 | 杨端端 | 一种名片识别中的自动拍摄方法 |
US20150078518A1 (en) * | 2013-09-17 | 2015-03-19 | IEC Electronics Corp. | System and method for counterfeit ic detection |
CN104835173A (zh) * | 2015-05-21 | 2015-08-12 | 东南大学 | 一种基于机器视觉的定位方法 |
CN105115979A (zh) * | 2015-09-09 | 2015-12-02 | 苏州威盛视信息科技有限公司 | 基于图像拼接技术的pcb工作片aoi检测方法 |
CN107723344A (zh) * | 2017-09-05 | 2018-02-23 | 西北工业大学 | 基于dPCR的新型全自动荧光信号采集分析方法 |
CN108416787A (zh) * | 2018-03-06 | 2018-08-17 | 昆山海克易邦光电科技有限公司 | 应用于机器视觉检测的工件直线边缘定位方法 |
CN108647706A (zh) * | 2018-04-24 | 2018-10-12 | 广州大学 | 基于机器视觉的物品识别分类与瑕疵检测方法 |
CN109623808A (zh) * | 2017-10-09 | 2019-04-16 | 南京敏光视觉智能科技有限公司 | 一种基于机器视觉的自动对位系统及方法 |
CN109872292A (zh) * | 2019-02-22 | 2019-06-11 | 东华理工大学 | 用于对图形图像进行快速处理的方法 |
-
2019
- 2019-09-30 CN CN201910938107.3A patent/CN110658215B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6408105B1 (en) * | 1998-05-12 | 2002-06-18 | Advantest Corporation | Method for detecting slope of image data utilizing hough-transform |
JP2003098216A (ja) * | 2001-09-27 | 2003-04-03 | Hioki Ee Corp | 回路基板検査装置 |
US20040022451A1 (en) * | 2002-07-02 | 2004-02-05 | Fujitsu Limited | Image distortion correcting method and apparatus, and storage medium |
CN102855472A (zh) * | 2012-08-14 | 2013-01-02 | 杨端端 | 一种名片识别中的自动拍摄方法 |
US20150078518A1 (en) * | 2013-09-17 | 2015-03-19 | IEC Electronics Corp. | System and method for counterfeit ic detection |
CN104835173A (zh) * | 2015-05-21 | 2015-08-12 | 东南大学 | 一种基于机器视觉的定位方法 |
CN105115979A (zh) * | 2015-09-09 | 2015-12-02 | 苏州威盛视信息科技有限公司 | 基于图像拼接技术的pcb工作片aoi检测方法 |
CN107723344A (zh) * | 2017-09-05 | 2018-02-23 | 西北工业大学 | 基于dPCR的新型全自动荧光信号采集分析方法 |
CN109623808A (zh) * | 2017-10-09 | 2019-04-16 | 南京敏光视觉智能科技有限公司 | 一种基于机器视觉的自动对位系统及方法 |
CN108416787A (zh) * | 2018-03-06 | 2018-08-17 | 昆山海克易邦光电科技有限公司 | 应用于机器视觉检测的工件直线边缘定位方法 |
CN108647706A (zh) * | 2018-04-24 | 2018-10-12 | 广州大学 | 基于机器视觉的物品识别分类与瑕疵检测方法 |
CN109872292A (zh) * | 2019-02-22 | 2019-06-11 | 东华理工大学 | 用于对图形图像进行快速处理的方法 |
Non-Patent Citations (4)
Title |
---|
叶亭等: "一种基于线阵CCD技术印刷电路板胶片的尺寸及缺陷在线检测方法", 《光学与光电技术》 * |
周迪等: "LabVIEW平台的文本图像倾斜校正方法", 《中国计量学院学报》 * |
宋昀岑: "PCB自动光学检测系统基础算法研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
焦李成等: "《雷达图像解译技术》", 31 December 2017, 国防工业出版社 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113379668A (zh) * | 2021-08-12 | 2021-09-10 | 浙江华睿科技股份有限公司 | 光伏板拼接方法及装置、电子设备及存储介质 |
CN113670949A (zh) * | 2021-08-27 | 2021-11-19 | 惠州市特创电子科技股份有限公司 | 一种大型电路板步进检查机的分区检查方法 |
CN114372440A (zh) * | 2021-12-20 | 2022-04-19 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 三维集成电路结构的版图图像获取方法和获取系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110658215B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12190418B2 (en) | Methods for automatically generating a common measurement across multiple assembly units | |
US9964403B2 (en) | Device and method for detecting flatness of surface of display panel | |
CN110658215B (zh) | 一种基于机器视觉的pcb板自动拼接检测方法与装置 | |
JP2008014940A (ja) | 平面状被撮像物のカメラ計測のためのカメラキャリブレーション方法、および応用計測装置 | |
CN111872544A (zh) | 激光出光指示点的标定方法、装置和振镜同轴视觉系统 | |
CN108311859B (zh) | 一种基于视觉检测技术的绝缘子自动装配方法 | |
CN110695520B (zh) | 基于视觉的全自动振镜视场校准系统及其校准方法 | |
US10535157B2 (en) | Positioning and measuring system based on image scale | |
KR100802596B1 (ko) | 아이디위치 검사기능을 갖는 레이저마킹 시스템 및 그검사방법 | |
CN114612447A (zh) | 一种基于数据标定的图像处理方法及装置、图像处理设备 | |
CN108548824B (zh) | Pvc面膜检测方法及装置 | |
US8390731B2 (en) | System and method for measuring a border of an image of an object | |
CN108226179B (zh) | 自动光学检测设备的校准方法及自动修复系统 | |
WO2022206022A1 (zh) | 基于多模板匹配和自动对焦功能的尺寸测量仪系统 | |
CN116634134B (zh) | 一种成像系统校准的方法、装置、存储介质及电子设备 | |
CN110109945B (zh) | 应用于基板的aoi检测方法、装置、存储介质及aoi检测设备 | |
CN117804339A (zh) | 一种轴孔对接的测量系统及检测方法 | |
JP2009079915A (ja) | 微小寸法測定方法および測定装置 | |
CN116152184A (zh) | 一种用于cell面内及边缘缺陷的检测方法及系统 | |
CN114897821A (zh) | 探卡探针相对测试平台高度检测方法 | |
US7330580B2 (en) | System and method for inspecting an LCD panel | |
CN113109354B (zh) | 一种标定块、缺陷检测装置及缺陷检测方法 | |
CN118941645B (zh) | 一种用于smt行业aoi自动光学检查机的机器标定方法 | |
CN115185113B (zh) | 一种显示面板的测试方法及系统 | |
CN119804314A (zh) | 自动光学检测设备的校准方法、装置、存储介质和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |