梯形螺纹视觉检测方法技术领域
本发明涉及螺纹检测技术领域,尤其涉及梯形螺纹视觉检测方
法。
背景技术
随着工业技术的迅猛发展,机械装置的自动化程度越来越高,在
这过程中也对生产制造中的工件精度要求越来越高。
传统的螺纹质量检测的主要方法是螺纹环规或塞规、用螺纹千分
尺测量、用齿厚游标卡尺测量、三针测量法、双针测量法,这种测量
方法存在测量速度慢、测量精度低的确定,不利于提供流水线的自动
化检测速度,已经满足不了现代工业对螺纹工件质量测量效率和精度
等方面的要求。
发明内容
针对上述技术问题,本发明的目的在于提供梯形螺纹视觉检测方
法,其检测得到的螺纹工件精度高。
为实现上述目的,本发明采用如下技术方案:
一种梯形螺纹视觉检测方法,包括如下步骤:
步骤一:对标准螺纹工件建立模板轮廓特征;
步骤二:对待检测螺纹工件建立轮廓特征;
步骤三:判断标准工件的模板轮廓特征和待检测工件的轮廓特征
的相似度是否达到预设值且满足目标个数,若是,则认定待检测螺纹
工件初步合格,执行步骤四,否则,认定待检测螺纹工件不合格,丢
弃该待检测螺纹工件;
步骤四:建立待检测螺纹工件两侧的螺牙轮廓特征,根据该两侧
的螺牙轮廓特征获取待检测螺纹工件两侧的螺牙之间的中线L,该螺
牙轮廓特征具有多个螺牙;;
步骤五:以中线L为基准轴建立二维直角坐标系以得到待检测螺
纹工件两侧的螺牙轮廓特征的所有坐标点集合(X1,Y1),获取所有
坐标点集合(X1,Y1)中Y1的极大值Ymax和所有坐标点集合(X1,
Y1)中Y1的极小值Ymin,并获取所有坐标点集合中(X1,Y1)中的
Y1大于或小于极大值Ymax预设范围内的所有坐标点的集合A,以及
获取所有坐标点集合中(X1,Y1)中的Y1大于或小于极小值Ymin预
设范围内的所有坐标点的集合B;将集合A和极大值Ymax拟合成直
线M1,将集合B和极小值Ymin拟合成直线M2,判断直线M1和直线
M2是否平行于中线L,若是则求取螺纹大径d、螺纹小径d1和螺纹
中径d2,否则该待检测螺纹工件不合格;
步骤六:根据中线L获取直线L3和直线L4,并根据直线L3、直
线L4分别与螺牙轮廓特征的交点求取螺距p,所述直线L3和直线L4
分别平行于中线L,中线L位于直线L3和直线L4之间,且直线L3
和直线L4与中线L的距离均为螺纹中径d2的一半;
步骤七:获取任意一螺牙两侧的谷值点m1、谷值点m1、峰值点
m3和峰值点m4,根据谷值点m1和峰值点m3生成第一正方形区域以
拟合成直线L5,根据谷值点m2和峰值点m4生成第二正方形区域以
拟合成直线L6,判断直线L5与直线L6之间的夹角α是否满足预设
范围,若是,则该待检测螺纹工件合格,否则不合格;其中,所述峰
值点m3为直线M1上靠近谷值点m1的一个端点,所述峰值点m4为直
线M1上靠近谷值点m2的一个端点,谷值点m1为直线M2上最靠近直
线M1一侧的一端点,谷值点m2为直线M2上最靠近直线M1另一侧的
一端点。
优选的,所述步骤一包括如下子步骤:
步骤1.1:获取标准螺纹工件的第一灰度图片,并在第一灰度图
片上选取一搜索区域;
步骤1.2:在搜索区域中对比相邻像素之间的对比度,当对比度
大于第一预设值时形成模板轮廓特征;
步骤1.3:对模板轮廓特征进行预设的第一角度范围变化,获取
一系列的模块轮廓特征;
步骤1.4:保存系列的模板轮廓特征。
进一步优选的,所述第一预设值为40,所述预设的第一角度范
围为±0.5°。
优选的,所述步骤二包括如下子步骤:
步骤2.1:获取待检测螺纹工件的第二灰度图片,并在第二灰度
图片上选取一搜索区域;
步骤2.2:在搜索区域中对比相邻像素之间的对比度,当对比度
大于第二预设值时形成轮廓特征;
步骤2.3:对轮廓特征进行预设的第二角度范围变化,获取一系
列的轮廓特征;
步骤2.4:保存系列的轮廓特征。
进一步优选的,所述第二预设值为20,所述预设的第二角度范
围为±0.5°。
优选的,步骤三中所述预设值为75%,目标个数为1。
优选的,步骤四包括如下子步骤:
步骤4.1:建立待检测螺纹工件两侧的螺牙轮廓特征,该螺牙具
有多个螺牙;
步骤4.2:处理待检测螺纹工件其中一侧的螺牙轮廓特征以形成
闭合轮廓D1,处理待检测螺纹工件另一侧的螺牙轮廓特征以形成闭
合轮廓D2;
步骤4.3:根据最小二乘法拟合闭合轮廓D1成直线L1,同时根
据最小二乘法拟合闭合轮廓D2成直线L2;
步骤4.4:根据直线L1和直线L2获取待检测螺纹工件两侧的螺
牙之间的中线L,其中,直线L1至中线L的距离等于直线L2到中线
L的距离。
进一步优选的,步骤五包括如下子步骤:
步骤5.1:以中线L为基准轴建立二维直角坐标系以得到待检测
螺纹工件两侧的螺牙轮廓特征的所有坐标点集合(X1,Y1);
步骤5.2:扫描所有坐标点集合(X1,Y1)获取该所有坐标点集
合(X1,Y1)中Y1的极大值Ymax和所有坐标点集合(X1,Y1)中
Y1的极小值Ymin,并获取所有坐标点集合中(X1,Y1)中的Y1大于
或小于极大值Ymax预设范围内的所有坐标点的集合A,以及获取所
有坐标点集合中(X1,Y1)中的Y1大于或小于极小值Ymin预设范围
内的所有坐标点的集合B;
步骤5.3:将集合A和极大值Ymax拟合成直线M1,将集合B和
极小值Ymin拟合成直线M2;
步骤5.4:判断直线M1和直线M2是否平行于中线L,若是,则
计算出直线M1与中线L之间的距离K1以及直线M2与中线L之间的
距离K2,否则,该待检测螺纹工件不合格;
步骤5.5:根据公式d=2*K1求得螺纹大径d,根据公式d1=2*K2
求得螺纹小径d1,根据公式d2=(d+d1)/2求得螺纹中径d2。
进一步优选的,步骤六包括如下子步骤:
步骤6.1:根据中线L获取直线L3和直线L4,所述直线L3和直
线L4分别平行于中线L,中线L位于直线L3和直线L4之间,且直
线L3和直线L4与中线L的距离均为螺纹中径d2的一半;
步骤6.2:所述直线L3和直线L4分别与中线L两侧的螺牙轮廓
特征形成多个交点,选择任意一侧的任意相邻的三个交点记为交点a、
交点b和交点c,所述交点a至交点c的距离为螺距p。
进一步优选的,步骤七包括如下子步骤:
步骤7.1:选取任意一个螺牙,获取该螺牙两侧的谷值点m1、谷
值点m2、峰值点m3和峰值点m4;所述峰值点m3为直线M1上靠近谷
值点m1的一个端点,所述峰值点m4为直线M1上靠近谷值点m2的一
个端点,谷值点m1为直线M2上最靠近直线M1一侧的一端点,谷值
点m2为直线M2上最靠近直线M1另一侧的一端点;
步骤7.2:根据谷值点m1和峰值点m3求取谷值点m1和峰值点
m3之间的中点h1,根据谷值点m2和峰值点m4求取谷值点m2和峰值
点m4之间的中点h2;
步骤7.3:以中点h1为中心点,以谷值点m1至峰值点m3距离
的一半为半径生成第一正方形区域,同时以中点h2为中心点,以谷
值点m2至峰值点m4距离的一半为半径生成第二正方形区域;
步骤7.4:在第一正方形区域建立第一轮廓并拟合成直线L5,在
第二正方形区域建立第二轮廓并拟合成直线L6;
步骤7.5:判断直线L5与直线L6之间的夹角α是否满足预设范
围,若是,则该待检测螺纹工件合格,否则不合格。
相比现有技术,本发明的有益效果在于:
1、无需人工手动测量工具尺寸,避免了人工操作和测量仪器自
身带来的系统误差,实现了自动化检测;
2、结合梯形螺纹的特征进行多层检测,通过实体工件与标准工
件进行比对,具有高精度检测保证,测量方法效率高、可靠性强。
附图说明
图1为本发明的梯形螺纹的螺牙结构示意图;
图2为本发明的工作流程图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
梯形螺纹又称普通螺纹,其螺牙形状如图1所示,梯形螺纹的主
要参数有:螺纹大径d、螺纹小径d1、螺纹中径d2、螺距p和牙型
角α。本实施例提供的梯形螺纹视觉检测方法基于对上述参数进行检
测,符合要求的则证明该梯形螺纹是合格工件,否则为不合格。
参见图2,本实施例包括步骤如下:
步骤s1:对标准螺纹工件建立模板轮廓特征;
步骤s2:对待检测螺纹工件建立轮廓特征;
步骤s3:判断标准螺纹工件的模板轮廓特征和待检测螺纹工件
的轮廓特征的相似度是否达到预设值且满足目标个数,若是,则认定
待检测螺纹工件初步合格,执行步骤s4,否则,认定待检测螺纹工
件不合格,丢弃该待检测螺纹工件;目标个数的作用是衡量螺纹工件
是否匹配合格的必要条件,目标个数即为要寻找的轮廓特征个数,可
以为1个,两者相似度的预设值为75%,即当标准工件的模板轮廓特
征和待检测工件的轮廓特征的相似度达到75%并且目标个数满足1的
情况下,即为合格,如果不合格,则选择其他螺纹工件重新开始测量,
只有在本步骤中检测合格的产品才执行下一个步骤;
步骤s4:建立待检测螺纹工件两侧的螺牙轮廓特征,根据该两
侧的螺牙轮廓特征获取待检测螺纹工件两侧的螺牙之间的中线L,该
螺牙轮廓特征具有多个螺牙;;
步骤s5:以中线L为基准轴建立二维直角坐标系以得到待检测
螺纹工件两侧的螺牙轮廓特征的所有坐标点集合(X1,Y1),获取所
有坐标点集合(X1,Y1)中Y1的极大值Ymax和所有坐标点集合(X1,
Y1)中Y1的极小值Ymin,并获取所有坐标点集合中(X1,Y1)中的
Y1大于或小于极大值Ymax预设范围内的所有坐标点的集合A,以及
获取所有坐标点集合中(X1,Y1)中的Y1大于或小于极小值Ymin预
设范围内的所有坐标点的集合B;将集合A和极大值Ymax拟合成直
线M1,将集合B和极小值Ymin拟合成直线M2,判断直线M1和直线
M2是否平行于中线L,若是,执行下一步s6,,即求取螺纹大径d、
螺纹小径d1和螺纹中径d2,否则该待检测螺纹工件不合格;
步骤s7:根据中线L获取直线L3和直线L4,并根据直线L3、
直线L4分别与螺牙轮廓特征的交点求取螺距p,所述直线L3和直线
L4分别平行于中线L,中线L位于直线L3和直线L4之间,且直线
L3和直线L4与中线L的距离均为螺纹中径d2的一半;
步骤s8:获取任意一螺牙两侧的谷值点m1、谷值点m1、峰值点
m3和峰值点m4,根据谷值点m1和峰值点m3生成第一正方形区域以
拟合成直线L5,根据谷值点m2和峰值点m4生成第二正方形区域以
拟合成直线L6,判断直线L5与直线L6之间的夹角α是否满足预设
范围,若是,则该待检测螺纹工件合格,否则不合格;其中,所述峰
值点m3为直线M1上靠近谷值点m1的一个端点,所述峰值点m4为直
线M1上靠近谷值点m2的一个端点,谷值点m1为直线M2上最靠近直
线M1一侧的一端点,谷值点m2为直线M2上最靠近直线M1另一侧的
一端点。
其中,步骤s1和步骤s2的建立过程类似,在步骤s1中,包括
子步骤如下:
s1.1:获取标准螺纹工件的第一灰度图片,并在第一灰度图片上
选取一搜索区域;获取标准螺纹工件的灰度图片通过拍照获取,初步
拍照的图片不一定是黑白的灰度图片,但为方便后续处理,最终将拍
照所得图片处理为灰度图片;
s1.2:在搜索区域中对比相邻像素之间的对比度,当对比度大于
第一预设值时形成模板轮廓特征;此步骤中的对比方式采用halcon
算法进行对比度参数处理,当对比度大于第一预设值,则形成轮廓点,
将多个轮廓点连接形成模板轮廓特征;关于对比度的第一预设值根据
显示屏像素不同等其他实际情况可自行调节设置,本实施例中的该第
一预设值优选为40;
s1.3:对模板轮廓特征进行预设的第一角度范围变化,获取一系
列的模块轮廓特征;该预设的第一角度范围为±0.5°;对模板轮廓
特征进行预设的角度变化得到一系列的轮廓特征,即在某个角度值的
一定范围内,一系列的模块轮廓特征就是很多个轮廓,如圆、直线、
圆弧等;
s1.4:保存系列的模板轮廓特征。
s2步骤中包括子步骤如下:
s2.1:获取待检测螺纹工件的第二灰度图片,并在第二灰度图片
上选取一搜索区域;
s2.2:在搜索区域中对比相邻像素之间的对比度,当对比度大于
第二预设值时形成轮廓特征;同样,对比方式采用halcon算法进行
对比度参数处理,该第二预设值优选为20;
s2.3:对轮廓特征进行预设的第二角度范围变化,获取一系列的
轮廓特征;该预设的第二角度范围为±0.5°;
s2.4:保存系列的轮廓特征。
步骤s1至步骤s3是对待检测管螺纹进行粗检测,步骤s4至步
骤s7为通过对待检测管螺纹的各种参数进行检测,以判断是否符合
标准。
步骤s4包括步骤如下:
s4.1:建立待检测螺纹工件两侧的螺牙轮廓特征,该螺牙轮廓特
征具有多个螺牙,每一个螺牙即为一个螺牙;
s4.2:处理待检测螺纹工件其中一侧的螺牙轮廓特征以形成闭合
轮廓D1,处理待检测螺纹工件另一侧的螺牙轮廓特征以形成闭合轮
廓D2;处理方式同样可以采用halcon算法进行对比度参数处理形成
轮廓特征点,连接这些轮廓特征点形成闭合轮廓;
s4.3:根据最小二乘法拟合闭合轮廓D1成直线L1,同时根据最
小二乘法拟合闭合轮廓D2成直线L2;最小二乘法的工作方式为现有
技术;
s4.4:根据直线L1和直线L2获取待检测螺纹工件两侧的螺牙之
间的中线L,其中,直线L1至中线L的距离等于直线L2到中线L的
距离。
步骤s5包括步骤如下:
s5.1:以中线L为基准轴建立二维直角坐标系以得到待检测螺纹
工件两侧的螺牙轮廓特征的所有坐标点集合(X1,Y1);此步骤中,
以中线L为基准轴即是在二维直角坐标系中线L为X轴,建立一套垂
直于中线L的直线为Y轴,形成直角坐标系;
s5.2:扫描所有坐标点集合(X1,Y1)获取该所有坐标点集合(X1,
Y1)中Y1的极大值Ymax和所有坐标点集合(X1,Y1)中Y1的极小
值Ymin,并获取所有坐标点集合中(X1,Y1)中的Y1大于或小于极
大值Ymax预设范围内的所有坐标点的集合A,以及获取所有坐标点
集合中(X1,Y1)中的Y1大于或小于极小值Ymin预设范围内的所有
坐标点的集合B;根据梯形的形状特征,参照图1,其具有上下两条
平行线,假设从左至右开始扫描所有坐标点集合(X1,Y1),当扫描
到上面的那条平行线的左端的过程中一直处于递增的状态,达到该点
后达到极大值Ymax,继续扫描,在该平行线上,所有坐标的Y1值与
极大值Ymax等同或相近大小,所述预设范围是极小的范围,如果范
围太大,这些点连接则不能形成一条直线,扫描到该平行线的最右端
之后,开始递减,所述集合A则是该平行线上最左端至最右端的所有
坐标点;集合B同理,按上述描述,集合B是下面那条平行线上最左
端至最右端的所有坐标点;
s5.3:将集合A和极大值Ymax拟合成直线M1,将集合B和极小
值Ymin拟合成直线M2;
s5.4:判断直线M1和直线M2是否平行于中线L,若是,则计算
出直线M1与中线L之间的距离K1以及直线M2与中线L之间的距离
K2,否则,该待检测螺纹工件不合格;
s5.5:根据公式d=2*K1求得螺纹大径d,根据公式d1=2*K2求
得螺纹小径d1,根据公式d2=(d+d1)/2求得螺纹中径d2。在本步
骤中,因为有很多个螺牙,每一个螺牙均具有上述参数,为了更好的
保证检测精度,在所有螺纹大径d之间、螺纹小径d1之间、螺纹中
径d2之间进行比对,看所求得的参数是否在误差范围内,如果有个
别与其他参数相比差别太大,说明该工件不合格,例如,在所有螺纹
大径d中,其中一个螺纹大径d的值远大于其他螺纹大径d的值,则
判断该待检测螺纹不合格;
步骤s7包括如下子步骤:
S7.1:根据中线L获取直线L3和直线L4,所述直线L3和直线
L4分别平行于中线L,中线L位于直线L3和直线L4之间,且直线
L3和直线L4与中线L的距离均为螺纹中径d2的一半;
S7.2:所述直线L3和直线L4分别与中线L两侧的螺牙轮廓特征
形成多个交点,选择任意一侧的任意相邻的三个交点记为交点a、交
点b和交点c,所述交点a至交点c的距离为螺距p。
步骤s8包括如下子步骤:
S8.1:选取任意一个螺牙,获取该螺牙两侧的谷值点m1、谷值
点m2、峰值点m3和峰值点m4;所述峰值点m3为直线M1上靠近谷值
点m1的一个端点,所述峰值点m4为直线M1上靠近谷值点m2的一个
端点,谷值点m1为直线M2上最靠近直线M1一侧的一端点,谷值点
m2为直线M2上最靠近直线M1另一侧的一端点;
S8.2:根据谷值点m1和峰值点m3求取谷值点m1和峰值点m3之
间的中点h1,根据谷值点m2和峰值点m4求取谷值点m2和峰值点m4
之间的中点h2;
S8.3:以中点h1为中心点,以谷值点m1至峰值点m3距离的一
半为半径生成第一正方形区域,同时以中点h2为中心点,以谷值点
m2至峰值点m4距离的一半为半径生成第二正方形区域;
S8.4:在第一正方形区域建立第一轮廓并拟合成直线L5,在第
二正方形区域建立第二轮廓并拟合成直线L6;拟合成直线的方式同
样可以通过最小二乘法求得;
S8.5:判断直线L5与直线L6之间的夹角α是否满足预设范围,
若是,则该待检测螺纹工件合格,否则不合格。,该夹角α即为牙型
角,与步骤s5.5同样意思,每一个螺牙都具有一个夹角α,对比所
有夹角α,当有个别夹角α与其他夹角α有明显差异时,说明该待检
测螺纹工件不合格。
对本领域的技术人员来说,可根据以上描述的技术方案以及构
思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变
都应该属于本发明权利要求的保护范围之内。