3D世界坐标到2D图像坐标转换

时间:2017-11-08 16:51:02

标签: computer-vision linear-algebra

如果世界框架(x1,y1,z1)中的相机坐标与相机姿态四元数(或俯仰滚动和偏航)一起可用,那么如何将像素(x,y)映射到相机图像上 - 给定世界框架中像素对象(x2,y2,z2)的坐标?我是计算机视觉的全新手。即使是相关教程的链接也将非常感激。

1 个答案:

答案 0 :(得分:0)

1。创建视图(摄像机)矩阵

伪代码:

view = new Matrix4();
view.rotate(camRotationQuaternion);
view.translate(camX, camY, camZ);

2。将顶点乘以视图矩阵

伪代码:

vertexCam = view * vertexWorld;

3。获取转换点(在相机空间中)的xy

因为现在正在观察""从视图矩阵中,其z值表示相机的深度,其xy值表示平面上的像素坐标"图像"相机。

伪代码:

pixX = vertexCam.x;
pixY = vertexCam.y;