我使用RGBD相机。我需要学习如何连接2张不同的图片,但是问题是每个点云都有自己的新坐标系。要跟踪相机更改,我使用Aruco标记。 我用Aruco标记保持第一张照片不变。并且还保存来自标记的数据(旋转和平移矩阵)。然后,我更改相机位置并使用相同的标记拍摄一张新照片。我保存新标记的数据(new_rotation,new_translation)。我需要了解如何通过更改标记中的数据来更改相机的位置。如果找到它,我可以将旋转和平移的这种差异应用于新捕获的点云,以将其与先前的点云连接起来。
我想找到相机位置的变化并将此变化应用于新的点云,以将其坐标系转换为旧的点云(第一次捕获)。
Mat rotationMatrix(3,3, CV_64F, Scalar(1));
rotationMatrix = rotation * new_rotation.inv();
Mat translationMatrix = Mat::zeros(Size(1,3), CV_64F);
translationMatrix = translation - rotationMatrix * new_translation;
new_point = rotationMatrix * point_xyz + translationMatrix;
我知道旋转矩阵是正确的。翻译矩阵的问题。这是错误的向量。