世界坐标系 相机坐标系 像素坐标系 图像坐标系
时间: 2025-05-06 16:43:40 浏览: 43
### 不同坐标系之间的关系
在计算机视觉领域,多个坐标系用于描述物体的位置和方向。这些坐标系包括世界坐标系、相机坐标系、图像坐标系以及像素坐标系。
#### 世界坐标系 (World Coordinate System)
这是全局参考框架,在此系统中定义了场景中的所有对象位置。它通常被设定为固定不变的空间参照点[^2]。
#### 相机坐标系 (Camera Coordinate System)
当摄像头捕捉到三维世界的景象时,会创建一个新的局部坐标体系——即摄像机坐标系。该坐标系原点位于摄像机光心处,并且Z轴指向拍摄方向。通过一系列变换可以将任何给定的世界坐标映射至对应的摄像机坐标下[^1]。
#### 图像坐标系 (Image Coordinate System)
一旦光线穿过镜头并投射到传感器平面上,则形成了二维平面内的表示形式—这就是所谓的图像坐标系。此时X' 和 Y' 轴分别平行于成像面的水平线与垂直线;而 z 值则代表距离焦距的距离[^3]。
#### 像素坐标系 (Pixel Coordinate System)
最终,为了能够在显示器上呈现图像数据,还需要进一步把上述得到的结果转化为具体的像素位置。这一步骤涉及到标准化设备单位(NDC)向实际分辨率坐标的转变过程。
### 各种转换方法概述
要实现从一种坐标系到另一种的有效过渡,主要依赖以下几个关键矩阵:
- **Model Matrix**: 将几何体由其原始状态移动旋转缩放等操作后放置入适当位置;
- **View Matrix**: 描述如何调整视角来模拟虚拟摄影装置的动作效果;
- **Projection Matrix**: 定义投影方式从而决定近大远小的关系特性。
具体来说,顶点最初处于本地空间(local space),随后依次经历如下阶段直至成为屏幕上可见的形式:
1. 应用模型变换(model transformation)使物体进入世界坐标(world coordinate)[^2];
2. 使用视图变换(view transformation)将其置于相对于观看者而言恰当的角度方位;
3. 经过投影变换(projection transformation),使得景物呈现出合理的透视感观特征;
4. 执行裁切(clipping)以去除超出视野范围的部分;
5. 实施齐次除法(homogeneous divide)/透视除法(perspective division);
6. 映射(mapping)至规范化后的窗口坐标(normalized device coordinates, NDCs)[-3];
7. 最终完成屏幕映射(screen mapping).
```cpp
// C++ code snippet demonstrating basic transformations using OpenGL matrices.
glm::mat4 model = glm::translate(glm::mat4(1.0f), position); // Model matrix example
glm::mat4 view = glm::lookAt(cameraPos, cameraFront, cameraUp); // View matrix creation
glm::mat4 projection = glm::perspective(glm::radians(fov), aspectRatio, nearPlane, farPlane); // Projection setup
```
阅读全文
相关推荐


















