0

我对 aruco 模块中的 drawAxis 函数有疑问。Z 轴翻转和一般不在 90 度(X 和 Y 工作正常)。

问题通过屏幕说明: 翻转轴

我尝试更换相机,检测另一个标记并进行许多重新校准(我尝试了不同的照片配置,在 15 到 100 之间)

当我打印旋转矢量 (rvec) 时,我注意到角度 0 和 1 (x, y?) 波动很小,但角度 2 (z?) 通常是恒定的: rvec print

哪里可能有问题?如果 X 和 Y 轴工作正常,代码应该正确吗?rvec_2 是常数是正常的吗?或者也许是我校准的错?

请提供任何线索!问候!

4

2 回答 2

0

我找到了解决方案:我的错误是使用标准校准棋盘图案: 坏校准板

我知道在许多教程中这种校准工作正常,但在我的情况下 - 没有

我的灵魂是 charuco 板(charuco 生成器的源代码): https ://github.com/opencv/opencv_contrib/blob/master/modules/aruco/samples/calibrate_camera_charuco.cpp

当我使用此板校准相机时,一切正常

希望这对某人有用,问候

于 2017-09-15T07:56:05.543 回答
0

我意识到这是自然的而不是错误!事实上 Z 轴总是指向我们而不是翻转(您可以检查生成的轴)。由于分辨率低或距离较远,发生的情况如下图所示。事实上,你看到的 XY 平面是一样的,并认为 Z 轴在这种情况下翻转了。

有关更多详细信息,请参见https://github.com/opencv/opencv/issues/8813

在此处输入图像描述

于 2022-01-25T02:45:23.687 回答