Blender相机参数与矩阵计算

Blender相机参数与矩阵计算

Created: May 12, 2022 9:40 AM
Reviewed: No

1. Blender相机参数

Blender中的虚拟相机常用的参数有:

  • Resolution X & Y - 相机分辨率
    Blender相机参数与矩阵计算_第1张图片

  • Type - 相机类型(透视、正交、全景)
    Blender相机参数与矩阵计算_第2张图片

  • Field of view - 视野 / Focal length - 焦距
    Blender相机参数与矩阵计算_第3张图片

  • Sensor size - 传感器大小
    Blender相机参数与矩阵计算_第4张图片
    除了相机的特有属性之外,还有相机作为空间物体的基本属性,包括空间位置以及旋转等。

2. 相机矩阵计算

2.1 外参矩阵

Blender支持直接输出相机外参矩阵,方法见下图。
请添加图片描述

2.2 内参矩阵

暂时不支持直接输出,可以通过计算获得。

先看一下内参矩阵的意义,

内参矩阵 K K K 是为了将相机坐标系下的3D坐标转为渲染图中像素的2D坐标,

m = K M c m = KM_c m=KMc

其中 M c M_c Mc 为3D空间中某一个点的坐标。

K K K 矩阵包含了上文中提到的各种相机参数,具体的表示为:

K = [ α u s u 0 0 α v v 0 0 0 1 ] = [ f p w s u 0 0 f p h v 0 0 0 1 ] K= \begin{bmatrix}\alpha_{u} & s & u_0 \\ 0 & \alpha_{v} & v_0 \\ 0 & 0 & 1\end{bmatrix} = \begin{bmatrix}\frac{f}{p_w} & s & u_0 \\ 0 & \frac{f}{p_h} & v_0 \\ 0 & 0 & 1\end{bmatrix} K=αu00sαv0u0v01=pwf00sphf0u0v01

其中, f f f 为焦距长度(mm), p w p_w pw p h p_h ph 为长度和宽度方向上相机传感器的大小, u 0 u_0 u0 v 0 v0 v0 为主点坐标。

如何计算?

上面的公式中, f , p w , p h f,p_w,p_h f,pw,ph可以直接通过设置得到, u 0 , v 0 u_0,v_0 u0,v0设置为照片分辨率的一半即可。

你可能感兴趣的:(blender学习,矩阵,blender,线性代数)