我想使用Camera extrinsic matrix和gluLookAt函数在图像上显示模型。
模型被转换为原点,即模型的质心位于原点。 (模型的坐标基于右手)
使用cvFindExtrinsicCameraParams2函数,我得到了相机外在矩阵E = [R | t]。
对于这种情况,我想使用gluLookat显示cad模型。
它有三个参数;相机位置,相机眼,相机。
我必须输入什么价值?
我猜,相机位置是t:外在矩阵的平移值。
此外,如果旋转和平移为零,则摄像机通过(0,0,1)向量看模型。因此,如果存在旋转,则摄像机眼睛应为R *(0,1,0)。
最后相机,如果相机在前面看起来模型,它应该是(0,-1,0)。然后新的相机向上矢量是R *(0,-1,0)。
但它没有给我一个正确的结果。有什么问题?我的错是什么?
答案 0 :(得分:0)
眼睛是相机正在观察的空间中的一个点。你目前计算的是它应该看的方向。例如,您可以使用
eye = t + R * [0,0,1];
我想知道为什么你尝试使用glLookAt
重建相机矩阵,因为结果应该是你已经拥有的外在相机矩阵。