カメラ行列
f = 1 と仮定すると、上で導出されたカメラ行列をさらに単純化できる。
C 0 = ( 1 0 0 0 0 1 0 0 0 0 1 0 ) = ( I 0 ) {\displaystyle \mathbf {C} _{0}={\begin{pmatrix}1&0&0&0\\0&1&0&0\\0&0&1&0\end{pmatrix}}=\left({\begin{array}{c|c}\mathbf {I} &\mathbf {0} \end{array}}\right)}
ここで I {\displaystyle \mathbf {I} } は 3 × 3 {\displaystyle 3\times 3} 恒等行列である。ここでの 3 × 4 {\displaystyle 3\times 4} 行列 C {\displaystyle \mathbf {C} } は、 3 × 3 {\displaystyle 3\times 3} 行列と3次元ベクトルの連結に分割されることに注意されたい。カメラ行列 C 0 {\displaystyle \mathbf {C} _{0}} は正準形式(英語: canonical form)と呼ばれることもある。
ここまでで、3次元空間内のすべての点はカメラ中心座標系、つまりカメラ中心(ピンホールカメラのピンホールの位置)に原点を持つ座標系で表される。しかし実際は、3次元点は任意の座標系 (X1', X2', X3') に対する座標として表せる。
ピンホールカメラモデルによると、3次元点 P の座標から、画像平面への点の投影の2次元画像座標へのマッピングは、次の式で与えられる。
( y 1 y 2 ) = f x 3 ( x 1 x 2 ) {\displaystyle {\begin{pmatrix}y_{1}\\y_{2}\end{pmatrix}}={\frac {f}{x_{3}}}{\begin{pmatrix}x_{1}\\x_{2}\end{pmatrix}}}
ここで ( x 1 , x 2 , x 3 ) {\displaystyle (x_{1},x_{2},x_{3})} は、カメラ中心座標系に対する P の3次元座標、 ( y 1 , y 2 ) {\displaystyle (y_{1},y_{2})} は結果となる画像座標、f はカメラの焦点距離で f > 0 と仮定する。また、 x3 > 0 であると仮定する。
カメラ行列を導出するために、上記の式を同次座標で書き直す。2次元ベクトル ( y 1 , y 2 ) {\displaystyle (y_{1},y_{2})} の代わりに射影要素(3次元ベクトル) y = ( y 1 , y 2 , 1 ) {\displaystyle \mathbf {y} =(y_{1},y_{2},1)} を考え、等式の代わりに ∼ {\displaystyle \,\sim } で示されるゼロ以外の数値によるスケーリングまで許容するような等式を考える。
2つの操作を順番に、つまり、最初に回転、次に平行移動(回転後の座標系で表された平行移動ベクトルを使用)を実行すると、回転と平行移動を組み合わせた行列が得られる。
( R t 0 1 ) {\displaystyle \left({\begin{array}{c|c}\mathbf {R} &\mathbf {t} \\\hline \mathbf {0} &1\end{array}}\right)}
R {\displaystyle \mathbf {R} } と t {\displaystyle \mathbf {t} } がちょうど上記の2つの座標系 (X1, X2, X3) と (X1', X2', X3') を関係づける回転と平行移動であると仮定すると、これは次のことを意味する。
x = ( R t 0 1 ) x ′ {\displaystyle \mathbf {x} =\left({\begin{array}{c|c}\mathbf {R} &\mathbf {t} \\\hline \mathbf {0} &1\end{array}}\right)\mathbf {x} '}
ここで x ′ {\displaystyle \mathbf {x} '} は座標系 (X1', X2', X3') における点 P の同次表現である。
また、カメラ行列が C 0 {\displaystyle \mathbf {C} _{0}} で与えられると仮定すると (X1, X2, X3) 系の座標から同次画像座標へのマッピングは次のようになる。