1. 创建标定板
引言
本教程的目标是学习如何创建标定板。
OpenCV 官方已经提供了如下两种可直接下载的标定板图片。
类型 | 预览 |
---|---|
棋盘标定板 | |
圆孔标定板 |
下载上述标定板直接使用即可,下面的教程是教你如何自定义标定板。
方法
OpenCV 提供了一个 Python 脚本 gen_pattern.py 可供调用,以便生成特定格式的标定板。
下面是一些例子演示如何使用:
- 创建一个 9 行 6 列,棋盘格大小为 20mm 的棋盘标定板:
- 创建一个 7 行 5 列,圆孔半径为 15mm 的圆孔标定板:
- 创建一个 7 行 5 列,圆孔半径为 10mm 的圆孔标定板(圆孔之间的间距要小一些):
python gen_pattern.py -o acircleboard.svg --rows 7 --columns 5 --type acircles --square_size 10 --radius_rate 2
- 创建一个标记在(7 4), (7 5), (8 5)单元格内的适用于 findChessboardCornersSB() 的 radon 棋盘:
python gen_pattern.py -o radon_checkerboard.svg --rows 10 --columns 15 --type radon_checkerboard -s 12.1 -m 7 4 7 5 8 5
提示
-u
参数可以改变设定单元格大小的量纲(默认是 mm,可以改为 px 或 m);-w
和-h
参数可以改变页面的宽和高;- 如果你想创建一个 ChArUco 棋盘,请阅读 ChArUco 角点检测教程。
注意
gen_pattern.py 依赖于 svgfig.py,所以你还需要下载它,然后将它们放到同一级目录下,不然运行会报错。其次,生成的 svg
格式的标定板图片默认保存至电脑桌面。