说我们得到了一个8x9的棋盘,并且函数cv :: findChessboardCorners没有问题就能识别它,我的问题是为什么函数不能在相同的图像中识别出一个尺寸较小的棋盘,我尝试了一个for循环并递减功能可以识别棋盘的大小,例如5x4和4x5但不是6x7? 知道为什么会这样吗?
我已经尝试过调试程序,但我不明白 calibinit.hpp
中究竟发生了什么 提前谢谢!答案 0 :(得分:1)
我认为主要的问题是你会有歧义,因为很容易找到较大的棋盘。
如果对包含棋盘的图像进行角点检测,您会发现一个规则的角点网格。
然后findChessboardCorners
需要找到一个结构,它与给定的棋子大小(x,y)非常相似。它会对将棋盘映射到角点检测找到的常规网格的不同可能性进行评级,这些评级非常相似。
因此,很难确定哪个是THE CHESSBOARD,你正在寻找。
答案 1 :(得分:0)
这是因为认可的电路板必须有亮边。