2017-09-26 45 views
0

我想知道以毫米为单位的摄像机校准状态的准确性。换句话说,2D图像中的X像素误差(均方根误差)与3D对象坐标系中的以毫米为单位的距离相对应?如何以毫米为单位获得校准精度而不是以像素为单位?

在OpenCV中,我可以通过calibrateCamera函数得到基于均方根误差(像素单位)的校准精度。或者,我可以通过将对象点重新投影到图像projectPoints并将它们与当前图像点进行比较来手动计算。

例如,假设我的RMS误差在2.0左右。这是否意味着5mm或10mm的差异?如何计算从2D中的像素到3D中的毫米的转换?请注意,ArUco标记始终水平放置,我知道标记的大小。

回答

0

要计算投影2d错误,您必须使用相机传感器物理尺寸来确定像素宽度和高度。

没有简单的方法来确定三维毫米误差。你使用单相还是多相机设置?如果您使用的是单相机,则无法根据深度图的投影确定真实的三维坐标。

在multicamera系统中有一些解决方法。您可以测量两台摄像机上检测到的角点之间的距离(以3d为单位),并将其与标记尺寸进行比较,或尝试将平面适合整个板子。

+0

我已经有像素单位的2D投影错误,我想知道如何获得3D毫米单位的错误。我使用单个相机,但我知道标记的大小,位置和姿势。毫米误差(x和y轴)是不可能的?如果是这样,你能解释为什么吗?我有点困惑。 – kangaroo

+0

可以使用您的校准来查找光线与图案平面的交点。但这不合适。为什么?由于从校准中得到的参考资料来衡量校准的准确度不是很好的做法。您没有在相机坐标系中测量出三维坐标,并且姿势是从校准中获得的。在这种情况下mm 3d误差的值将很低。 –

+0

你能告诉我如何从2D RMS误差(像素)计算3D误差吗?我只想知道3D世界中xx像素错误的含义。 – kangaroo

相关问题