功能
标定需要的环节,一个工程里完成
六种标定板
棋盘格、ChArUco、带标记棋盘格、对称与非对称圆点、AprilGrid(Kalibr 兼容)。直接读取 BDB 标准品与在线生成器导出的 JSON 描述文件,参数不必手抄。
单目、双目与多相机
联合光束法平差同时优化各相机内参、相机间外参与每帧标定板位姿;Huber 鲁棒核与离群点剔除;圆点标定板可做圆心偏差补偿。
6 类相机模型
针孔 + 畸变(从无畸变到 12 参数有理 + 薄棱镜,定义与 OpenCV 一致)、Kannala-Brandt 鱼眼、双球、EUCM、FOV,以及与 HALCON area_scan_division 等价的除法模型。
知道结果可信到什么程度
RMS、逐图误差与残差分布之外,还给出参数标准差与相关性、覆盖热图、投影不确定度热图、畸变场和双目极线检验,并提示哪里需要补拍。
导出与报告
导出 6 种格式:BDB JSON、OpenCV YAML、ROS camera_info、Kalibr camchain、HALCON 相机参数与残差 CSV;生成单文件中文 HTML 报告,可直接打印。
工程文件与批处理
工程文件(.bdbproj)保存标定板、相机、图像与检测缓存,整体拷贝后仍可打开;支持中文路径与 16 位图像;授权版提供命令行批处理与 Python SDK。
界面一览
从图像到结论
标定板设置
选择图案类型并填写参数,或载入标准品附带的 JSON 描述文件。描述文件里的几何定义与生产文件、网页生成器完全一致,检测到的特征点编号与坐标直接对应实物。
图像与检测
按相机导入图像文件夹(PNG、JPG、BMP、TIFF,含 16 位图像),多进程并行检测并缓存结果。逐张查看检测到的特征点,及时发现模糊、过曝或漏检的图像。
标定结果
每台相机的内参与畸变系数,多相机时给出相机间的旋转与平移;授权版为每个参数附上标准差(1σ),并给出参数间的相关性。
残差分析
残差散点、径向残差曲线与逐图 RMS 一目了然;被剔除的离群点单独标出,残差的分布规律可以提示模型是否合适、标定板是否变形。
覆盖与不确定度
覆盖热图显示特征点在图像上的分布,投影不确定度热图给出各位置的预测误差;软件据此给出改进建议,例如“右下角缺少数据,请补拍”。
中文标定报告
一键生成单文件 HTML 报告:概要、参数表、残差图、覆盖与不确定度热图、畸变场、外参俯视图、双目校正检验、改进建议与求解日志,可打印存档。
流程
一次标定的步骤
- 新建工程
选择标定板(或载入描述文件)。
- 导入图像
每台相机一个文件夹,多相机按文件名或序号配对。
- 检测
并行检测特征点,检查逐张结果。
- 标定
为每台相机选择模型,可固定部分参数或令 fx = fy。
- 评估
看 RMS、残差、覆盖与不确定度,必要时补拍。
- 导出
导出所需格式并生成报告。
支持的标定板
| 图案 | 局部可见 | 方向唯一 |
|---|---|---|
| ChArUco 标定板 | 是 | 是 |
| 棋盘格标定板 | 否 | 是 |
| 带标记棋盘格标定板 | 是 | 是 |
| 对称圆点标定板 | 否 | 否 |
| 非对称圆点标定板 | 否 | 是 |
| AprilGrid 标定板 | 是 | 是 |
只要图案属于这六类并正确填写参数,其他来源的标定板也可以使用。
导出格式
| 格式 | 扩展名 | 免费版 |
|---|---|---|
| BDB 标定结果(JSON,可重新载入) | .json | 是 |
| OpenCV YAML(cv::FileStorage) | .yaml | 是 |
| ROS camera_info YAML(每台相机一个文件) | .yaml | 否 |
| Kalibr camchain.yaml | .yaml | 否 |
| HALCON 相机参数(area_scan_division) | .txt | 否 |
| 残差明细 CSV | .csv | 否 |
ROS 与 Kalibr 的平移单位按其惯例为米;BDB JSON 与 OpenCV YAML 沿用标定板单位 mm。
| 模型 | 说明 | 标识 | 免费版 |
|---|---|---|---|
| 针孔 + 标准畸变 k1 k2 p1 p2 k3 | 推荐,普通镜头 | opencv:standard | 是 |
| 针孔 + 径向切向 k1 k2 p1 p2 | Kalibr pinhole-radtan | opencv:radtan | 是 |
| 针孔 + 径向 k1 k2 | 低畸变镜头 | opencv:k1k2 | 是 |
| 针孔 + 有理 8 参数 | 广角、畸变大 | opencv:rational | 是 |
| 针孔 + 有理 + 薄棱镜 12 参数 | 高精度测量 | opencv:full | 是 |
| 理想针孔 | 无畸变,远心/长焦近似 | opencv:pinhole | 是 |
| 鱼眼 Kannala-Brandt | OpenCV fisheye / Kalibr pinhole-equi | fisheye | 是 |
| 双球 Double Sphere | 视场 >180° 鱼眼 | double_sphere | 否 |
| 增强统一 EUCM | 鱼眼 / 折反射 | eucm | 否 |
| FOV 模型 | 广角,参数少 | fov | 否 |
| 除法模型 | HALCON area_scan_division | division | 否 |
版本
免费版与授权版
免费版无需授权文件,可完成单相机标定、OpenCV 针孔 / 鱼眼模型、JSON 与 OpenCV YAML 导出和 HTML 报告。双目与多相机、全部模型、不确定度分析、全部导出格式、命令行批处理与 Python SDK 需要试用版、学术版、研发版或商业版授权。
- 单相机标定免费版
- OpenCV 针孔 / 鱼眼模型免费版
- JSON / OpenCV YAML 导出免费版
- HTML 标定报告免费版
- 双目 / 多相机标定授权版
- 全部相机模型(双球、EUCM、FOV、除法模型)授权版
- 协方差、参数标准差与不确定度分析授权版
- 全部导出格式(ROS、Kalibr、HALCON、残差 CSV)授权版
- 命令行批处理授权版
- Python SDK 二次开发授权版
常见问题
关于标定软件
BDB 相机标定工作台支持哪些标定板?
支持棋盘格、ChArUco、带标记棋盘格、对称圆点、非对称圆点和 AprilGrid(Kalibr 兼容)六种图案。只要图案属于这些类型并正确填写参数,其他来源的标定板也可以使用。
软件支持哪些相机模型?
支持针孔加畸变模型(从无畸变到 12 参数有理加薄棱镜的多种变体,定义与 OpenCV 一致)、Kannala-Brandt 鱼眼模型、双球模型、EUCM、FOV 模型,以及与 HALCON area_scan_division 等价的除法模型。选择方法见 相机模型怎么选。
能做双目和多相机标定吗?
能。软件采用联合光束法平差,同时优化所有相机的内参、相机之间的外参和每帧标定板位姿,并给出外参的不确定度。各相机之间需要有同时看到标定板的图像。
标定完成后能看到哪些评估指标?
包括总体和每台相机的 RMS 重投影误差、逐图误差、残差、被剔除的离群点,以及内参和外参的标准差。如何解读见 看懂标定结果。
标定结果能用在 OpenCV 或 HALCON 中吗?
针孔加畸变模型的参数定义与 OpenCV 的 calibrateCamera 一致,可直接用于 OpenCV;除法模型可按像元尺寸换算为 HALCON area_scan_division 的参数。具体导出方式见 BDB 相机标定工作台。
软件在哪里下载,如何授权?
下载见 下载 BDB 相机标定工作台,版本与授权说明见 版本与授权,软件许可条款见 软件许可协议。
标定板的图案文件可以在哪里获取?
可以用在线图案生成器 在线图案生成器 按参数生成,支持导出 PDF、SVG、DXF 等格式。打印时请选择 100% 实际尺寸,并用尺子核对比例。
对标定图像有什么要求?
建议使用 PNG、TIFF、BMP 等无损格式,分辨率、对焦和光圈与实际使用时一致。单台相机建议采集 15–30 张以上姿态各异的图像,覆盖画面四角并带有倾斜,详见 采集标定图像的最佳实践。