本发明属于图像检测技术领域,更具体地,本发明涉及一种基于视觉图像的泵体口环位姿检测方法。
背景技术:
在泵体制造业中,口环作为泵体中的安装组件,需要将其放置于带有凸点口环底座中,放置的正确位姿为口环底座的凸点在口环外边缘的内凹圆弧围绕区域内。现有的口环大多是通过人工放置在口环底座中,存在耗时耗力,且工作效率低的问题,要实现口环的自动安装,口环的位姿的识别是关键,也是需要克服的难点。
技术实现要素:
本发明提供了一种基于视觉图像的泵体口环位姿检测方法,旨在改善上述问题。
本发明是这样实现的,一种基于视觉图像的泵体口环位姿检测方法,该方法包括如下步骤:
s1、对输入的泵体口环图像依次进行灰度化、二值化处理,形成泵体口环图像src1;
s2、检测泵体口环图像src1的口环最外层轮廓,及口环最外层轮廓上的若内凹圆弧;
s3、确定内凹圆弧的圆心及半径,检测内凹圆弧的半径值与半径设定值的差值是否在偏差允许范围内;
s4、若检测结果为是,则获取口环最外层轮廓的最小包围圆圆心与各内凹圆弧圆心所在线段lh、及平行于x轴且过最小包围圆圆心的线段lx,计算线段lh与线段lx的夹角,将最小夹角作为泵体口环的姿态,口环最外层轮廓的最小包围圆的圆心为泵体口环的位置。
进一步的,内凹圆弧的检测方法具体如下:
s21、求取口环最外层轮廓的最小包围圆;
s22、计算口环最外层轮廓上各轮廓点距最小包围圆圆心的距离;
s23、筛选距离小于最小包围圆半径的轮廓点,筛选的轮廓点即构成泵体口环最外层轮廓上的若干内凹圆弧。
进一步的,内凹圆弧的圆心确定方法具体如下:
s31、对各内凹圆弧上各轮廓点的位置坐标进行升序排列,形成轮廓点集,基于设定距离值在轮廓点集中采样轮廓点;
s32、依次计算相邻采样轮廓点所在线段的中垂线,并获取所有相邻中垂线的交点,放入交点集中;
s33、依次以交点集中的各交点作为圆心,以设定的距离阈值作为半径,形成圆形窗,统计落入圆形窗内的交点数;
s34、最大交点数的圆形窗内各交点坐标的平均值即为内凹圆弧的圆心。
进一步的,采样轮廓点的获取方法具体如下:
s311、以轮廓点集中的首个轮廓点作为起始轮廓点;
s312、依次遍历轮廓点集中的各轮廓点,直至轮廓点i与起始轮廓点的距离值大于设定距离值;
s313、则将轮廓点i作为采样轮廓点,并将轮廓点i作为起始轮廓点,执行步骤s312,直至遍历整个轮廓点集。
进一步的内凹圆弧的半径确定方法具体如下:
s35、在内凹圆弧上任取一轮廓点,计算该轮廓点至内凹圆弧圆心的距离r0,将距离r0作为候选圆的半径预估值;
s36、基于半径预估值生成候选圆的候选半径区间[r0-a、r0 a];
s37、依次候选半径区间内的半径值作为半径,以内凹圆弧的圆心作为圆心生成候选圆;
s38、计算内凹圆弧上所有轮廓点到各候选圆的距离平方和,将最小距离平方和对应的候选圆半径作为内凹圆弧的半径。
本发明对口环图像进行识别处理,得到口环的位姿数据,基于口环位姿数据才能实现口环在口环底座上的准确安装。
附图说明
图1为本发明实施例提供的基于视觉图像的泵体口环位姿检测方法流程图;
图2为本发明实施例提供的泵体口环的彩色图像src;
图3为本发明实施例提供的泵体口环的灰度图像;
图4为本发明实施例提供的泵体口环的二值化图像;
图5为本发明实施例提供的泵体口环的腐蚀图像;
图6为本发明实施例提供的泵体口环的膨胀图像;
图7为本发明实施例提供的泵体口环的最外层轮廓;
图8为本发明实施例提供的泵体口环最外层轮廓的最小包围圆;
图9为本发明实施例提供的泵体口环最外层轮廓上的内凹圆弧;
图10为本发明实施例提供的内凹圆弧的圆心;
图11为本发明实施例提供的内凹圆弧所在圆;
图12为本发明实施例提供的口环的姿态示意图;
图13为本发明实施例提供的基于相邻中垂线确定内凹圆弧圆心的示意图。
具体实施方式
下面对照附图,通过对实施例的描述,对本发明的具体实施方式作进一步详细的说明,以帮助本领域的技术人员对本发明的发明构思、技术方案有更完整、准确和深入的理解。
图1为本发明实施例提供的基于视觉图像的泵体口环位姿检测方法流程图,该方法包括如下步骤:
s1、对输入的泵体口环图像依次进行灰度化、二值化处理,形成泵体口环图像src1;
在本发明实施例中,读取工业相机采集的泵体口环的彩色图像src,如图2所示,对彩色图像src进行消除畸变、降噪处理后,经颜色空间转换为灰度图像gray,如图3所示;选取合适阈值将灰度图像gray进行二值化处理,得到二值化图像bw,如图4所示;由于图像中存在与泵体口环像素值相近的非兴趣区域,故对二值化图像进行先腐蚀(如图5所示)后膨胀的图像处理策略尽可能的消除非兴趣区域,形成泵体口环图像src1,如图6所示。
s2、检测泵体口环图像src1的口环最外层轮廓,口环最外层轮廓如图7所,及口环最外层轮廓上的若干圆弧段;
在本发明实施例中,对泵体口环图像src1进行轮廓检测,根据轮廓面积或者轮廓的最小包围圆面积筛选出口环最外层轮廓,最大轮廓面积及最大面积的最小包围圆对应的轮廓即为口环外层轮廓。
在本发明实施例中,口环外层轮廓上均匀分布有四个内凹圆弧,该内凹圆弧的检测方法具体如下:
s21、求取口环最外层轮廓的最小包围圆,口环最外层轮廓的最小包围圆如图8所示;
s22、计算口环最外层轮廓上各轮廓点距最小包围圆圆心的距离;
s23、筛选距离小于最小包围圆半径的轮廓点,筛选的轮廓点即构成泵体口环最外层轮廓上的若干内凹圆弧,四个内凹圆弧如图9所示。
s3、确定内凹圆弧的圆心及半径,检测内凹圆弧的半径值与半径设定值的差值是否在偏差允许范围内;
在本发明实施例中,内凹圆弧的圆心确定方法具体如下:
s31、对各内凹圆弧上各轮廓点的位置坐标进行升序排列,形成轮廓点集,基于设定距离值在轮廓点集中采样轮廓点,此处的升序排列是指先基于坐标中的x值进行轮廓点的升序排列,在x值相同的情况下,基于y值进行轮廓点得升序排列,其中,采样轮廓点的获取方法具体如下:
s311、以轮廓点集中的首个轮廓点作为起始轮廓点;
s312、依次遍历轮廓点集中的各轮廓点,直至轮廓点i与起始轮廓点的距离值大于设定距离值;
s313、则将轮廓点i作为采样轮廓点,并将轮廓点i作为起始轮廓点,执行步骤s312,直至遍历整个轮廓点集。
即轮廓点之间的欧式距离作为设定距离值,遍历轮廓点集中的所有轮廓点,取轮廓点集中的首个轮廓点contours[i][0]为起始轮廓点,遍历轮廓点集数据,若轮廓点contours[i][j]与起始轮廓点的距离大于设定距离值,则保留轮廓点contours[i][j],轮廓点contours[i][j]即为采样轮廓点,否则舍弃,然后以轮廓点contours[i][j]为起始轮廓点,搜寻下一个满足设定距离值的下一轮廓点,直至遍历结束。
s32、依次计算相邻采样轮廓点所在线段的中垂线,并获取所有相邻中垂线的交点,放入交点集中;
s33、依次以交点集中的各交点作为圆心,以设定的距离阈值作为半径,形成圆形窗,统计落入圆形窗内的交点数;
s34、最大交点数的圆形窗内各交点坐标的平均值即为内凹圆弧的圆心,内凹圆弧的圆心如图10所示。
在本发明实施例中,获取相邻采样轮廓点所在线段的中垂线方程,然后计算相邻中垂线的交点,该交点即理论上的对应内凹圆弧的圆心,依次求取相邻中垂线的交点得到交点集。由于图像像素处理中,难免存在误差,规定交点之间欧式距离小于距离阈值,则视为同一交点区域,某交点区域中的交点计数最大,则将该交点区域内的交点位置平均值视为对应内凹圆弧的圆心。
如图13所示,弦中垂线l1、l2、l3、l4的交点作为圆心的候选点,由于交点为同一点,满足设定的距离阈值范围之内,且该交点区域内的交点数最多,即该交点视为圆弧对应的圆心;弦中垂线l4与弦中垂线l5的交点在设定距离阈值范围内无其他交点,则不视为圆弧对应的圆心。
在本发明实施例中,内凹圆弧的半径确定方法具体如下:
s35、在内凹圆弧上任取一轮廓点,计算该轮廓点至内凹圆弧圆心的距离r0,将距离r0作为候选圆的半径预估值;
s36、基于半径预估值生成候选圆的候选半径区间[r0-a、r0 a];
s37、依次以候选半径区间内的半径值作为半径,以内凹圆弧的圆心作为圆心生成候选圆;
s38、计算内凹圆弧上所有轮廓点到各候选圆的距离平方和,将最小距离平方和对应的候选圆半径作为内凹圆弧的半径,内凹圆弧所在圆如图11所示。
s4、若检测结果否,则说明口环加工不合格,则停止口环姿态的检测,若检测结果为是,则获取口环最外层轮廓的最小包围圆圆心与各内凹圆弧圆心所在线段lh、及平行于x轴且过最小包围圆圆心的线段lx,计算线段lh与线段lx的夹角,将最小夹角作为泵体口环的姿态,口环最外层轮廓的最小包围圆的圆心为泵体口环的位置。
定义泵体口环最外层轮廓的最小包围圆圆心与圆弧圆心连线为线段lh,平行于图像x轴、长度为最小包围圆半径且过最小包围圆圆心的线段lx,口环底座中两凸点位于线段lx所在的直线上,求取线段lh与线段lx之间的角度,如图12所示,对四个角度值进行排序,取最小角度值作为泵体口环的姿态数据,基于机器人的末端执行器基于口环的姿态数据来校准口环的放置位置,以口环底座的凸点位于内凹圆弧内。
上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。
1.一种基于视觉图像的泵体口环位姿检测方法,其特征在于,所述方法具体包括如下步骤:
s1、对输入的泵体口环图像依次进行灰度化、二值化处理,形成泵体口环图像src1;
s2、检测泵体口环图像src1的口环最外层轮廓,及口环最外层轮廓上的若内凹圆弧;
s3、确定内凹圆弧的圆心及半径,检测内凹圆弧的半径值与半径设定值的差值是否在偏差允许范围内;
s4、若检测结果为是,则获取口环最外层轮廓的最小包围圆圆心与各内凹圆弧圆心所在线段lh、及平行于x轴且过最小包围圆圆心的线段lx,计算线段lh与线段lx的夹角,将最小夹角作为泵体口环的姿态,口环最外层轮廓的最小包围圆的圆心为泵体口环的位置。
2.如权利要求1所述基于视觉图像的泵体口环位姿检测方法,其特征在于,内凹圆弧的检测方法具体如下:
s21、求取口环最外层轮廓的最小包围圆;
s22、计算口环最外层轮廓上各轮廓点距最小包围圆圆心的距离;
s23、筛选距离小于最小包围圆半径的轮廓点,筛选的轮廓点即构成泵体口环最外层轮廓上的若干内凹圆弧。
3.如权利要求1所述基于视觉图像的泵体口环位姿检测方法,其特征在于,内凹圆弧的圆心确定方法具体如下:
s31、对各内凹圆弧上各轮廓点的位置坐标进行升序排列,形成轮廓点集,基于设定距离值在轮廓点集中采样轮廓点;
s32、依次计算相邻采样轮廓点所在线段的中垂线,并获取所有相邻中垂线的交点,放入交点集中;
s33、依次以交点集中的各交点作为圆心,以设定的距离阈值作为半径,形成圆形窗,统计落入圆形窗内的交点数;
s34、最大交点数的圆形窗内各交点坐标的平均值即为内凹圆弧的圆心。
4.如权利要求3所述基于视觉图像的泵体口环位姿检测方法,其特征在于,采样轮廓点的获取方法具体如下:
s311、以轮廓点集中的首个轮廓点作为起始轮廓点;
s312、依次遍历轮廓点集中的各轮廓点,直至轮廓点i与起始轮廓点的距离值大于设定距离值;
s313、则将轮廓点i作为采样轮廓点,并将轮廓点i作为起始轮廓点,执行步骤s312,直至遍历整个轮廓点集。
5.如权利要求1所述基于视觉图像的泵体口环位姿检测方法,其特征在于,内凹圆弧的半径确定方法具体如下:
s35、在内凹圆弧上任取一轮廓点,计算该轮廓点至内凹圆弧圆心的距离r0,将距离r0作为候选圆的半径预估值;
s36、基于半径预估值生成候选圆的候选半径区间[r0-a、r0 a];
s37、依次以候选半径区间内的半径值作为半径,以内凹圆弧的圆心作为圆心生成候选圆;
s38、计算内凹圆弧上所有轮廓点到各候选圆的距离平方和,将最小距离平方和对应的候选圆半径作为内凹圆弧的半径。
技术总结