方法:找到外轮廓contour→采样contour里的点→形成rect。
tips:findcontours函数,参数可查,注意输入的二值化图像最外一圈应为黑,否则最外一圈将被找为最大轮廓。
关键代码:
【步骤二】在patch图像内,进行特征点寻找,因为漏油属于不规则,而没有漏油的轮廓patch可能找不到特征点,找到的特征点通过后期计算可以筛查为漏油。
关键代码:
tips:keypoint的数据结构--各种特征点。
【步骤三】计算正常轮廓宽度和特征点上的轮廓宽度,比较判断是否漏油。
关键代码:
①计算特征点周围的轮廓宽度
②计算某点处的轮廓宽度,在该点处沿水平、竖直方向遍历,可求得灰度值为0的水平长度数值或数值长度,取最小的。
③计算patch中的轮廓宽度,统计二值化图像中灰度值为0的像素数量,其中指针的使用:
④计算patch中轮廓的角度,以纠正①中计算的漏油处宽度角度偏差的问题。