4,446
社区成员
产品为金属件,检测产品内孔直径,以及最小外接矩形的长宽尺寸。这里使用马克拉伯的检测软件SGVision进行检测。
一、检测思路
样品是360度随机旋转的,需要使用形状匹配进行定位。定位之后使用圆形拟合,检测内圆直径。要检测最外围的尺寸可以直接使用最小外接矩形,可以直接测出产品的外围尺寸。但是这个算法耗时较长,这边如果对检测时间有要求可以使用曲线拟合找边缘弧形的最高点,因为产品边缘是对称的弧形,两点件的直接距离就是产品的最大尺寸。
二、算法设置
1、形状匹配
整个产品为模板,调整阈值以整个边缘为形状,最小相似度到0.4,角度区间设置为-180到180。
2、圆形拟合
添加算法之后首先“匹配源”选择“形状匹配#匹配变换”,边缘极性从白到黑,位置类型最前的,合格标准判断对象是直径,按照要求设置最大值最小值。
3、最小外界矩形
要检测产品的最大长宽,直接使用最小外接矩形也可以,这个合格标准只要设置的比良品大就可以,具体测出来都时要传出去额,确保算法OK就行。比较简单,但是这个耗时非常久,要2秒多。
4、其它方法
这款产品是一款对称的产品,最大尺寸应该是四边曲线的最高点两两之间的距离,根据这个思路,我们可以使用曲线拟合找到四条曲线边的最高点。具体如下
(1)根据产品特性找2个点定义一条直线,作为曲线拟合的参考直线。
(2)曲线拟合
对称边的曲线可以同样方法找到最高点,另外两边的曲线,参考直线吧定义的直线旋转90度可以获得。
4边的曲线都拟合成功之后,分别使用点间距离检测产品的最大长宽尺寸。
重新设置算法之后看看检测时间,只有600ms提高了几倍,算法还可以继续优化,减少检测时间。
这个样品检测主要是用到了曲线拟合,检测点间距,难点需要注意曲线拟合中依据的直线方位。