社区计算机视觉课程文档
相机模型
加入 Hugging Face 社区
并获得增强的文档体验
开始使用
相机模型
针孔相机

最简单的相机类型——也许是你自己制作的那种——由一个不透光的盒子组成,一侧有一个小孔,另一侧有一个屏幕或照相胶片。穿过小孔的光线在盒子的后壁上生成一个倒置的图像。这种简单的相机模型常用于 3D 图形应用中。
相机坐标轴约定
相机坐标轴的方向有许多不同的约定。这里我们将遵循 Blender 的约定(见图),其中相机指向负 Z 轴,相机 X 轴指向左侧(从相机方向看),相机 Y 轴指向上方。
针孔相机坐标变换
3D 空间中的每个点都映射到 2D 平面上的单个点。为了找到 3D 和 2D 坐标之间的映射关系,我们首先需要知道相机的内参,对于针孔相机,内参包括:
- 焦距,和.
- 主点的坐标,和,即图像的光学中心。该点是光轴与图像平面的交点。
使用这些内参,我们构建相机矩阵
为了将此应用于 3D 空间中的点,我们将点乘以相机矩阵得到一个新的 3x1 向量。这是一个 2D 齐次向量,但最后一个分量不是 1。为了找到该点在图像平面中的位置,我们必须将前两个坐标除以最后一个坐标,得到点.
虽然这是相机矩阵的教科书式定义,但如果我们使用 Blender 相机约定,它会左右和上下翻转图像(因为相机前方的点将具有负 z 值)。一种可能的解决方法是更改相机矩阵中某些元素的符号
相机变换矩阵
通常,相机不只是位于原点,我们还必须将点从世界坐标系变换到相对于相机的坐标系。为此,我们首先将世界到相机矩阵应用于点,然后再应用相机矩阵。
更复杂的相机模型
更复杂的相机模型是可能的,可以对真实镜头产生的畸变进行建模。有关此类模型的讨论,请参阅计算机视觉中的多视图几何。
< > 在 GitHub 上更新