基于变换的X射线图像中BGA焊球轮廓提取方法与流程

文档序号:14941518发布日期:2018-07-13 20:58阅读:631来源:国知局
本发明涉及计算机软件自动化领域,尤其涉及一种基于变换的x射线图像中bga焊球轮廓提取方法。
背景技术
:现有技术中,对pcb板上bga焊点轮廓提取方法主要有以下3种:1.在降噪等预处理后进行阈值分割来提取bga焊点;2.使用漫水法对图像进行逐步填充以及改进的“基于扫描线的种子填充方”来获取bga焊点;3.使用canny等边缘检测方法识别焊点边缘,从而获得焊球目标。第一种方法只利用了数字图像的灰度信息,对灰度干扰及图像质量要求高,且易受到内部气泡和外部导线的干扰;第二种方法也容易受到复杂周边环境,如多导线连接和灰度分布不均匀的影响,导致误识别;第三种方法主要是使用了梯度信息进行检测,但忽略目标为圆形这一信息,使得检测的结果不够精准。所以在bga缺陷检测技术中,焊球目标的准确分割是本领域亟需解决的基础问题。而且这些方法都是依赖参数的,参数的调整直接决定了处理效果的优劣,使用参数会造成数据主观性增强。技术实现要素:本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于变换的x射线图像中bga焊球轮廓提取方法。为了实现本发明的上述目的,本发明提供了一种基于变换的x射线图像中bga焊球轮廓提取方法,其特征在于,包括如下步骤:s1,获取焊点原始图像,对原始图像进行圆检测,识别出原始图像中焊点的初步位置,得到每个焊点的roi(感兴趣区域);s2,对原始图像进行变换,获取目标图像后,使用无参数的方法对目标图像进行边缘检测;s3,将检测结果映射回原始坐标系得到掩膜图像,以此对原始图像做掩膜处理,提取出单个焊点图像;对掩膜图像进行边缘提取,从而提取出焊点轮廓图像。所述的基于变换的x射线图像中bga焊球轮廓提取方法,优选的,所述s1包括:s1-1,对原始图像进行基于霍夫变换的圆检测,初步获得到各个焊点ci的圆心坐标pi及半径ri;s1-2,对所识别的焊点ci,以圆心坐标pi为中心,直径2ri乘以一个倍率k作为边长的正方形区域,作为焊点ci的roi(感兴趣区域)。所述的基于变换的x射线图像中bga焊球轮廓提取方法,优选的,所述s2包括:s2-1,对s1中提取的每一个焊点的roi进行如下处理,对原始roipsrc进行变换,假设psrc大小为(2r+1)×(2r+1),则令目标图像pdst大小为(2r+1)×l;其中l为目标图像的高度,r为原始roi中焊点的半径。s2-2,在目标图像pdst中进行目标边缘检测,具体方法如下,将pdst与[1,-1]做相关运算,得到相关运算后的目标图像pdst|conv2,将pdst|conv2的左右各20%置0,得到经过置0处理后的目标图像pdst|conv2|mask,检测pdst|conv2|mask中每一行的最大值的位置,则有向量:loc={loc1,loc2,...,locj,...,locl}loc[j]=locj,其中j为正整数,locj等于pdst|conv2|mask第j行中最大值的位置。如果pdst|conv2|mask中的某一行存在多个最大值,则locj等于这些最大值位置的中心点。所述的基于变换的x射线图像中bga焊球轮廓提取方法,优选的,所述s2还包括:由psrc经过变换,得到pdst的方法如下:令两幅图像的坐标系分别如下:psrc:坐标系位于图像中心,向右为x轴正方向,向上为y轴正方向;pdst:坐标系原点位于图像左下角,向右为x轴正方向,向上为y轴正方向;对于pdst中的任意点p(x,y),其值由下述方法计算得到:pdst(x,y)=psrc(x×cos(y),x×sin(y))。所述的基于变换的x射线图像中bga焊球轮廓提取方法,优选的,所述s3包括:s3-1将检测结果映射回原始图像,则生成另一副掩膜图像pans,pans是二值图像,其大小和psrc一样,其值如下所示:由于向量loc是离散的,因此当索引非自然数时,需要用插值的方式得到结果,使用线性插值,方法如下:loc(t)=(t-floor(t))×loc[top(t)]+(top(t)-t)×loc[floor(t)]其中,floor(t)表示向下取整,top(t)表示向上取整,t为任意实数,在此应用场景中,t等于上上式中的其中,atan2函数与普通意义上的四象限反正切有所区别,采用如下定义:其中arctan是标准的反正切函数s3-2,使用pans对psrc做如下处理,即在roi中提取出了焊点;s3-3,对pans做边缘提取,即提取出了焊点轮廓。提取的方法如下:首先,遍历pans中所有点,若某一点8邻域像素的值与其相同,则将其标记为“非目标点”,否则,将其标记为“目标点”。然后,将pans中所有的“非目标点”的值修改为0,将pans中所有的“目标点”修改为1。最后,得到了焊点的轮廓图。综上所述,由于采用了上述技术方案,本发明的有益效果是:本发明将提出一种不需要参数方法获取焊点原始图像,对原始图像进行圆检测,得到单个焊点图像,对每个焊点的焊球进行初识别,对原始图像进行变换,获取目标图像后,使用无参数的方法对目标图像进行边缘检测;根据检测结果形成掩膜图像;将原始图像做掩膜处理,提取出单个焊点图像;对掩膜图像进行边缘提取,从而提取出焊点轮廓图像,增强了图像识别率,具有很高的适应性。本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1是本发明流程图;图2是本发明效果图;图3是本发明另一效果图;图4a、4b是本发明参数效果图;图5a为pdst的图像;图5b为pdst|conv2|mask的图像;图5c是pdst|conv2|mask中每一行最大值点的示意图。图6a为roi的原始图像;图6b是本发明提取单个焊点的效果图。图7是本发明提取单个焊点的轮廓的效果图。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。如图1所示,轮廓提取处理流程如下:s1获取焊点原始图像,对原始图像进行圆检测,得到焊点图像,对每个焊点的焊球进行初识别,得到每个焊点的roi(感兴趣区域);1、焊球识别:对如图2所示的原始图像进行基于霍夫变换的圆检测,初步获得到各个焊点ci的圆心坐标pi及半径ri;结果如图3所示。相应的圆心坐标及半径如下表:圆12345678圆心坐标(154,539)(169,352)(138,726)(319,546)(184,168)(498,209)(484,379)(347,189)半径4445454245414143圆910111213141516圆心坐标(637,226)(332,366)(304,727)(625,392)(457,727)(472,553)(599,727)(612,561)半径40424240414039402、roi(感兴趣区域)的提取:对原始图像进行圆检测,得到每个焊点的圆心和半径,然后把每个焊点及其周围的区域作为roi提取出来。对于步骤1中所识别的焊点ci,以圆心坐标pi和直径2ri乘以一个倍率k作为边长的正方形区域,作为标准的感兴趣区域,此处k为1.3;如图3所示。以本实施例中的焊点1为例,其圆心坐标是(154,539),半径是44,则提取x坐标从97到211,y坐标是从482到596的正方形区域。步骤1和步骤2即为焊球初识别。s2焊球精识别的过程s2-1对原始图像进行变换,如图4a和4b所示:假设原始图像psrc的大小为(2r+1)×(2r+1),则令目标图像pdst大小为(2r+1)×l,为方便描述,令两幅图像的坐标系分别如下:psrc:坐标系位于图像中心,向右为x轴正方向,向上为y轴正方向。pdst:坐标系原点位于图像左下角,向右为x轴正方向,向上为y轴正方向。对于pdst中的任意点p(xi,yi),其值由下述方法计算得到:pdst(xi,yi)=psrc(x×cos(y),x×sin(y))得到的pdst如图5a所示s2-2在目标图像pdst中进行边缘检测,将pdst与[1,-1]做相关运算,得到pdst|conv2,将pdst|conv2的左右各20%归0,得到pdst|conv2|mask,如图5b所示。检测pdst|conv2|mask中每一行的最大值的位置,则有向量:loc={loc1,loc2,...,locj,...,locl}loc[j]=locj相应的pdst|conv2|mask中每一行的最大值点入图5c中所示。s3-1将检测结果映射回原始图像,则生成另一副掩膜图像pans,pans是二值图像,其大小和psrc一样,其值如下所示:其中由于loc是离散的,因此当索引非自然数时,需要用插值的方式得到结果,使用线性插值,方法如下:loc(t)=(t-floor(t))×loc[top(t)]+(top(t)-t)×loc[floor(t)]其中,floor(t)表示向下取整,top(t)表示向上取整,t为待取整的实数。s3-2,使用pans对psrc做如下处理,即在roi中提取出了焊点;s3-3,对pans做边缘提取,即提取出了焊点轮廓。提取的方法如下:首先,遍历pans中所有点,若某一点8邻域像素的值与其相同,则将其标记为“非目标点”,否则,将其标记为“目标点”。然后,将pans中所有的“非目标点”的值修改为0,将pans中所有的“目标点”修改为1。最后,得到了焊点的轮廓图。图6a是单个焊点roi的原始图像,图6b是这个roi中焊点的提取结果。图7是提取出的焊点轮廓。尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1