在图像中查找棋盘

时间:2011-01-07 15:55:01

标签: algorithm opencv

所以,我最初假设在图像中找到棋盘应该是微不足道的,因为它是一个容易定义的对象。然而它并不是那么容易,我想知道是否有人知道棋盘查找器“cvFindChessboardCorners”如何在OpenCV中工作。我试过谷歌搜索它,但havnt设法找到算法。我猜可能如下:

1)二值化
2)打开和关闭以消除小簇

A)
2)找到Harris角落 3)在图像中的所有点之间创建距离矩阵 4)...?

B)
2)找到霍夫变换 3)检查所有重要的线是否相交。如果一条线上有4条或更多条线相交,那么这些线就是棋盘的一部分。这包括无穷远处的点 4)?

任何人都确切知道吗?

1 个答案:

答案 0 :(得分:4)

这很漂亮......很复杂:)如果你想确切地知道,opencv的来源将是看的地方 - 在opencv 2.2中它位于modules/calib3d/src/calibinit.cpp第219行。它还有一个{{1}编译开关,以便能够看到它是如何工作的。