在图像中找到棋盘格

4
所以,我最初认为在图像中找到棋盘应该是微不足道的,因为它是一个很容易定义的对象。然而,事实并非如此简单,我想知道OpenCV中的棋盘查找器“cvFindChessboardCorners”是如何工作的。我已经尝试通过谷歌搜索,但没有找到算法。我猜可能是以下内容:
1)进行二值化处理 2)开和闭来消除小的集群
A) 3)查找Harris角点 4)在图像中的所有点之间创建距离矩阵 5)...?
B) 3)查找霍夫变换 4)检查所有显著线条的交点。如果4条或更多的线条在一个点相交,则这些线条是棋盘的一部分。这包括无穷远点。 5)...?
有人知道确切的答案吗?
1个回答

4

这有点...复杂 :) 如果你想了解确切的信息,可以查看opencv的源代码 - 在opencv 2.2中,它位于modules/calib3d/src/calibinit.cpp的219行。它还有一个DEBUG_CHESSBOARD的编译开关,可以看到它是如何工作的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接