Ramer算法
利用Canny算子得到墙地砖轮廓后,必须进一步将轮廓线精确分段成墙地砖的四条边,从而可得到墙地砖轮廓尺寸、边直度和直角度指标。采用如下算法实现:
第1,选择较高阈值,利用ramer算法将轮廓线用多边形(Polygon)近似。
第2,如果多个轮廓直线段能被圆弧近似,则将圆弧代替。
第3,选择较低阈值,利用ramer算法将未被圆弧代替的轮廓线用多边形(polygon)近似。
第4,重复第2步,结束。
Ramer算法示意图
外部轮廓检测算法
提取瓷砖的轮廓边长后,计算出图像中瓷砖的边直度和直角度特征。对规格为300 mm×300 mm的墙地砖进行了外形检测。检测的条件为:工业相机500万像素,距离墙地砖1米,工业相机安装位置与背景板是垂直的。如上图所示,该墙地砖经过一次试验后,在软件中所呈现结果。通过与标准量具实测对比表明:轮廓的长度和宽度方向的误差≤ 0.3 mm,墙地砖的边直度和直角度重复性好,较好反映墙地砖外形特征。
墙地砖外形自动检测软件结果画面