我正在尝试使用Aruco标记找到相机的方向。从旋转矩阵提取的欧拉角在超过特定点时不稳定。
随着摄像机到标记的距离增加,摄像机的偏航角值变得不稳定。标记上的“Z”轴翻转。
欧拉角抖动,在每帧中都不相同,并且需要花费一些时间才能稳定下来。如何获得摄像机和标记之间的偏航角和距离的可靠值?
我试图找到没有静态标记的移动相机的姿势。
我实现了solvePnP 和solvePnPRansac 都产生不稳定的结果。
从 EstimatePoseSingleMarker 转换旋转 vector 后获得的旋转矩阵似乎可以到一定程度,但会失去稳定性。
我该怎么办?
谢谢
最佳答案
通常,您不会从单个标记获得准确的相机姿态估计。解决方案是添加更多标记。您可以使用标记板,也可以使用更稀疏的标记图案。
随着单个标记器距离摄像机越来越远,一些因素在起作用,以降低标记器姿势估计的准确性。
正如您所发现的,姿势估计在单个标记的特写,斜 View 中可以正常工作,因为赋予solvePnP()的投影点相距较远并且具有较大的透视失真。通过添加更多的标记,您将始终具有solvePnP()的理想投影点。
关于c++ - ArUco姿势估计中的不稳定值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51709522/