如何检测棋盘格
摄像机标定是机器视觉的最基础和重要的技术之一,而棋盘格经常用来作为相机标定的标定物,棋盘格示例如图1所示。
图1:棋盘格示例
大家常用一些标定工具(如OpenCV)来检测棋盘格,但很少有人知道其内在的检测原理,现在小编就为大家简要讲解一种检测方法,其步骤如下:
第一步,局部平均自适应阈值化方法对亮度不均匀情况适应性强,因此用该方法对图像二值化,效果如图2所示。
图2:局部平均自适应阈值化
第二步,图像膨胀分离各个黑块四边形的衔接,由于膨胀的是白色像素点,因此能够缩小黑块四边形,断掉衔接,效果如图3所示。
图3:图像膨胀
大林上位机机器视觉,_常州电工培训_常州PLC培训_常州机器视觉培训_常州上位机培训_常州工业机器人培训,最适合电工及plc编程人员学习的上位机机器视觉课程 大林老师:15861139266(微信同号)
第三步,检测四边形,计算每个轮廓的凸包,多边形检测,以及判断是否只有四个顶点,若是则为四边形,再用长宽比、周长和面积等约束去除一些干扰四边形,效果如图4所示。
图4:四边形检测
第四步,将每个四边形作为一个单元,它分别有邻近的四边形,无邻近四边形的为干扰四边形,两个邻近四边形为边界处四边形,四个邻近四边形为内部四边形。每个四边形的序号可按邻近关系排序,然后按对角两个四边形相对的两个点,取其连线的中间点作为角点, 效果如图5 所示。
图5:角点检测
本文章提供了棋盘格检测的简要思路,算法检测的稳定性和可靠性还是要多方面考虑,可以从局部自适应阈值化的窗口大小设置,膨胀的次数,和该流程是否需要多次重复操作等方面入手。