一种激光拼焊待焊件图像中直线边缘亚像素检测方法与流程

文档序号:18001736发布日期:2019-06-25 22:55阅读:470来源:国知局
一种激光拼焊待焊件图像中直线边缘亚像素检测方法与流程

本发明属于视觉检测领域,具体说是一种激光拼焊待焊件图像中直线边缘亚像素检测方法。



背景技术:

激光焊接作为一种连接金属件技术具有作用面积小、能量密度高、焊接效率高的特点,已在汽车、航空航天、造船等领域中得到了应用。目前,工业生产中激光焊接头安装在多自由度焊接机器人手臂或数控焊接机床上,焊接时焊接头按设定轨迹移动实现焊接。由于夹具夹装误差等因素的影响,待焊件夹装后焊接位置与预设轨迹会有偏差。激光焊接时激光束作用区域较小,这种偏差会影响焊接质量,甚至造成焊接失效。为消除待焊件实际焊缝位置与设定焊接轨迹的偏差,需要在焊接前重新规划焊接轨迹。待焊件的焊接轨迹可应用视觉方法通过检测焊缝的边缘来确定。本发明主要对激光拼焊待焊件图像中直线边缘亚像素检测方法进行研究,为焊接轨迹规划提供技术支持。

博众精工科技股份有限公司吴晓军等人,在专利申请号为:201610209158.9,专利名称为一种具有广泛适应性的图像亚像素边缘提取方法中采用自适应高低阈值计算方法得到梯度图像,以任意像素位置为原点,建立相对坐标,取该点周围八邻域像素为局部极大中心值选择数据样本,根据梯度方向得到邻域的比较结果,确定当前像素位置是否为边界点候选位置利用像素点的各向邻点灰度加权值在边缘点达到最大值这一现象进行边缘检测。若局部梯度幅值的极值大于设定阈值为边缘点。采用基于steger曲面拟合方法的hessian矩阵法求取边缘点的亚像素位置。上述方法能够在特定条件下完成亚像素边缘检测,但存在计算过程较为复杂、计算效率不高的问题。



技术实现要素:

本申请提供一种激光拼焊待焊件图像中直线边缘亚像素检测方法,该方法具有模型简单,计算过程稳定快速等优点。

为实现上述目的,本申请的技术方案为:一种激光拼焊待焊件图像中直线边缘亚像素检测方法,具体包括:首先选取一个像素级边缘点为原点建立坐标系,并以原点为中心取7╳7范围内像素;根据各像素的灰度值和坐标求灰度重心坐标,像素级边缘点中心与重心的坐标连线为理想直线的法线;然后用理想直线将选定的7╳7区域分为两个区域,每个区域内灰度值相同;根据理想直线的法线和7╳7区域内各像素的灰度值求得直线的参数;最后求法线方向与理想直线的交点,该交点为亚像素边缘点位置;依次选取各像素级边缘点并重复以上过程,求得各像素级边缘点对应的亚像素级边缘点位置。

进一步的,求取灰度重心坐标具体方法为:对待焊件图像高斯滤波后,应用sobel算子求图像中待焊件的像素级边缘点。取像素级边缘点(ik,jk),以(ik,jk)的中心为坐标原点,以水平方向为横坐标、竖直方向为纵坐标建立坐标系。以(ik,jk)为中心取7╳7范围内像素,各像素的灰度值用f(ik,jk)表示,则灰度重心坐标(ikh,jkh)为:

进一步的,求理想直线斜率:过亚像素边缘点的直线为理想直线,理想直线的法线为像素级边缘点(ik,jk)的中心与灰度重心(ikh,jkh)的连线。理想直线lk表示为:

y=ax+b

式中理想直线lk的斜率a可由法线求得。

更进一步的,亚像素边缘点计算方法为:理想直线将以像素级边缘点(ik,jk)为中心的7╳7范围内像素分成两个区域,区域内灰度值相同;两侧区域内灰度值分别用w1和w2表示;w1和w2的值用相邻区域内像素灰度值计算;当灰度重心位于二、四象限时,计算公式如下:

当灰度重心位于一、三象限时,计算公式如下:

单个像素为正方形其单边长度表示为l,令l=1,以像素级边缘点(ik,jk)为中心的7╳7范围内各列像素的灰度值用s1、s2、s3、s4、s5、s6和s7表示;理想直线lk下从左到右各列的面积用k1、k2、k3、k4、k5、k6和k7表示;则:

以像素级边缘点(ik,jk)为中心的7╳7范围内理想直线lk下的面积用k表示,则:

由此可得(l=1):

式中,s=s1+s2+s3+s4+s5+s6+s7;

理想直线lk与其法线的交点为亚像素边缘点。

本发明由于采用以上技术方案,能够取得如下的技术效果:将图像中待焊件曲线焊缝的亚像素边缘点求解转化为以像素级边缘点为中心矩形像素区域内理想直线的求解。理想直线分矩形像素区域为两个内部灰度值相同的部分,利用矩形区域内灰度重心和像素灰度值求理想直线的参数,理想直线与其法线的交点为亚像素边缘。该方法具有模型简单,计算过程稳定快速的优点。

附图说明

图1为以(ik,jk)为中心7╳7像素区域和理想直线图(图中灰度重心位于第二象限);

图2为亚像素边缘计算流程图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步详细的描述:以此为例对本申请做进一步的描述说明。

实施例1

本实施例提供一种激光拼焊待焊件图像中直线边缘亚像素检测方法,该方法所用射出激光的焊接头安装在数控机床或多自由度机器人手臂上。工业ccd相机安装在焊接头上。利用soble边缘检测算法求得图像中待焊件边缘的像素级边缘点(ik,jk),k=1,2,…n(n为像素级边缘点的数目)。取像素级边缘点(ik,jk),求其对应的亚像素边缘点的具体步骤如下:

第一步:计算灰度重心坐标

以像素级边缘点(ik,jk)为中心取7╳7范围内像素,以像素级边缘点(ik,jk)的中心为坐标原点o,以水平方向为x轴、以竖直方向为y轴建立坐标系,如图1所示。各像素的灰度值用f(ik,jk)表示,则灰度重心坐标(ikh,jkh)为:

第二步:计算理想直线的斜率

过亚像素边缘点的直线为理想直线,理想直线的法线为像素级边缘点(ik,jk)的中心o与灰度重心(ikh,jkh)的连线。理想直线lk表示为:

y=ax+b(2)

式中理想直线lk的斜率a由法线求得。

第三步:计算亚像素边缘点位置

如图1所示,理想直线以像素级边缘点(ik,jk)为中心7╳7范围内像素分成两个区域区域内灰度值相同;两侧区域内灰度值分别用w1和w2表示;w1和w2的值可用相邻区域内像素灰度值计算。当灰度重心位于二、四象限时,计算公式如下:

当灰度重心位于一、三象限时:

单个像素为正方形其单边长度表示为l(可令l=1),7╳7范围内从左到右各列像素的灰度值用s1、s2、s3、s4、s5、s6和s7表示;理想直线lk下从左到右各列的面积用k1、k2、k3、k4、k5、k6和k7表示。则:

理想直线lk下的面积用k表示,则:

由式(7)和式(8)得(l=1):

式中,s=s1+s2+s3+s4+s5+s6+s7。

理想直线lk与其法线的交点为亚像素边缘点。

计算亚像素边缘点的流程图,如图2所示。依次选取各像素级边缘点,重复以上步骤可得各像素级边缘点对应的亚像素边缘位置。

以上所述,仅为本发明创造较佳的具体实施方式,但本发明创造的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明创造披露的技术范围内,根据本发明创造的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明创造的保护范围之内。

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