opencv - 生成巨大的校准模式

Posted

技术标签:

【中文标题】opencv - 生成巨大的校准模式【英文标题】:opencv - generation of huge calibration pattern 【发布时间】:2013-09-07 08:56:31 【问题描述】:

我们需要一个外部尺寸约为 600 mm x 600 mm 的校准图案。

我尝试使用可以在 OpenCV 发行版的 docs 文件夹中找到的 python 脚本,但它不会生成这种大小的 svg。它在没有错误消息的情况下停止并且不写入 svg 文件。

所以我想自己创建模式并想了解“规则”:

使用不同的行数和列数更好吗? 一个好的校准图案需要多少圈? 相对于外部尺寸,我应该使用哪个半径? 圆圈之间需要多少间距? 外圈和整个图案的边框之间需要多少间距?

因为我不能打印这种尺寸的图案并且必须支付打印费用,所以我需要了解规则并且不能尝试很多不同的东西。

谢谢!

【问题讨论】:

您确定需要这种尺寸的图案吗?我发现我为相机设置的分辨率越高,我可以使用的目标就越小。目标和相机也越近。最后,棋盘具有很好的可扩展性,为什么不使用呢? 图像覆盖的区域约为 2.5 m x 2 m,我们需要良好的校准才能进行准确测量。使用带有小(以像素为单位)圆圈的小校准模式会导致校准误差更大。 我们想使用圆圈,因为它提供比棋盘更准确的校准结果。 使用 CAD 软件可以轻松制作重复图案。有很多免费的 CAD 程序,例如 Draft Sight。它也很容易在 ARCH D 等大幅面尺寸上打印。如果您需要添加联邦标记,也可以轻松移除特定的图案块以腾出空间。 【参考方案1】:

两个链接可能会提供一些想法。一个来自Carnegie Mellon University website,另一个来自paper from Janne Heikkila(见p7)

免责声明:我不知道这些模式是否被优化。我也有兴趣了解更多相关信息。

编辑:来自 opencv findCirclesGrid 文档的另一个提示:该函数需要在电路板周围留有空白(如方形粗边框,越宽越好),以使检测在各种环境中更加稳健。

【讨论】:

以上是关于opencv - 生成巨大的校准模式的主要内容,如果未能解决你的问题,请参考以下文章

如何根据相机校准(C++)生成的真实数据使用opencv模拟失真?

OpenCV中的相机失真内外参不失真图像相机校准

OpenCV 2.3 相机校准

OpenCV 相机校准

OpenCV 立体匹配/校准

用于 OpenCV 的 Iphone 6 相机校准