更强大的棋盘检测,类似于libcbdetect的算法
checkerboard的Python项目详细描述
棋盘格
在python中,除了opencv之外,我找不到任何能可靠地找到棋盘格的库。 然而,opencv的棋盘在棋盘有些模糊或旋转时往往会失败。
因此,这个图书馆诞生了。它可能比opencv稍慢,但它将find那个棋盘格。
opencv与这个库的比较(opencv在左边,棋盘在右边):
快速启动
您可以通过pip轻松安装棋盘格:
pip install checkerboard
然后,您可以继续检测这样的棋盘格:
fromcheckerboardimportdetect_checkerboardsize=(9,6)# size of checkerboardimage=...# obtain checkerboardcorners,score=detect_checkerboard(image,size)
返回的corners
格式与
findChessboardCorners
来自opencv的函数,已计算
达到亚像素精度。
返回的score
是棋盘格质量的度量
检测。一个完美的棋盘会有0分,
而一个糟糕的检测结果是1分。
参考文献
棋盘检测的实现主要基于libcbdetect 以及随附文件:
@INPROCEEDINGS{Geiger2012ICRA,
author = {Andreas Geiger and Frank Moosmann and Oemer Car and Bernhard Schuster},
title = {Automatic Calibration of Range and Camera Sensors using a single Shot},
booktitle = {International Conference on Robotics and Automation (ICRA)},
year = {2012}
}