我对 OpenCV 相机姿态估计进行了简单的测试。将一张照片和同一张照片按比例放大(放大),我使用它们来检测特征、计算基本矩阵和恢复相机姿势。
Mat inliers;
Mat E = findEssentialMat(queryPoints, trainPoints, cameraMatrix1, cameraMatrix2,
FM_RANSAC, 0.9, MAX_PIXEL_OFFSET, inliers);
size_t inliersCount =
recoverPose(E, queryGoodPoints, trainGoodPoints, cameraMatrix1, cameraMatrix2, R, T, inliers);
因此,当我将原始图像指定为第一个图像并将缩放图像指定为第二个图像时,我得到的平移 T 接近 [0; 0; -1]。然而,第二台相机(放大)实际上比第一台更靠近物体。因此,如果 Z 轴从图像平面进入场景,则第二个摄像机应沿 Z 轴具有正偏移。对于我得到的结果,Z 轴从图像平面朝向相机,与其他轴(X 向右,Y 向下)形成左手坐标系。真的吗?为什么此结果与此处说明的坐标系不同?