OpenCV到OpenGL坐标系变换

问题描述 投票:3回答:1

我有两个右手坐标系。

OpenCVenter image description here

如您用黑色箭头所见,相机向下看$ Z $的正轴。您可以忽略图的其余部分。

OpenGL

enter image description here

尽管在这里看不见,但OpenGL中的相机向下看-Z轴。我想将OpenCV坐标系中位于摄像头前面的3D点转换为OpenGL中位于摄像头前面的3D点。

[我试图在4x4矩阵中表示这一点,该矩阵将RT与底部的0001连接起来。

到目前为止,我已经尝试过

1  0  0  0
0 -1  0  0
0  0  -1 0
0  0  0  1

但是它似乎什么也没做,OpenGL坐标系中什么也没显示。

opencv opengl-es opengl-es-2.0 linear-algebra augmented-reality
1个回答
0
投票

OpenCV的摄像机坐标向右X,向下Y,向前Z。当OpenGL的摄影机坐标向X右移,Y向上,Z向内移动时。two coordinate systems

使用solvePnP作为最常用的示例之一。您将获得3x3旋转矩阵R和1x3平移矢量T,并创建一个具有R和T的4x4视图矩阵M。只需反转M的第二行和第三行,您将获得用于OpenGL渲染的视图矩阵。two view matrices

© www.soinside.com 2019 - 2024. All rights reserved.