ホーム

 

対応点とカメラ位置姿勢の関係

対応点座標CSV出力した対応点座標とカメラ位置・姿勢CSV出力した行列の関係は以下の通りです。

例を元に説明します。

1.      CSV出力の例

対応点CSV出力の例の一部

 

カメラ位置・姿勢CSV出力の例

無題

 

2.      対応点座標をカメラの座標系に変換する行列の作成

カメラの姿勢とカメラの位置を元に34列の行列を作成し、4行目に(0,0,0,1)を追加し44列の行列にします。

0.991162

0.053993

0.121175

0.737965

-0.13035

0.226834

0.96517

-1.12E-01

0.024626

-0.97244

0.231868

7.12E-03

0

0

0

1

その行列の逆行列を算出します。

0.991161

-0.13035

0.024626

-0.74615

0.053993

0.226835

-0.97244

-0.00763

0.121175

0.965171

0.231867

0.016558

0

0

0

1

 

3.      対応点座標をカメラの座標系での座標に変換

逆行列の上3行を抽出します。

0.991161

-0.13035

0.024626

-0.74615

0.053993

0.226835

-0.97244

-0.00763

0.121175

0.965171

0.231867

0.016558

対応点の3次元座標を列ベクトルとし4行目に1を設定します。(下の例は対応点番号1のX,Y,Z座標)。

0.484373

1.41055

0.701542

1

積を算出しカメラ座標系での座標を得ます。

-0.43266

-0.34372

1.599339

この値はカメラ位置を原点、撮影方向をZ軸にした座標系での対応点座標になります。

 

4.      3次元座標を2次元座標に変換

X,Y成分をZ成分で割ります。

-0.27052

-0.21491

この値は倍率1の写真の写真上の対応点の座標となります。なお原点は写真の左右上下の中心です。

 

5.      写真の倍率をかけ、写真の中心を加える。

-869.362

-690.654

この値は原点が写真の左右上下の中心としての対応点座標です。

 

6.      写真の左上隅を原点に移動(写真上の座標は左上隅が原点のため)

画素数の1/2を算出します。

1408

1056

画素数の1/2を加えて写真左上を原点にした対応点座標を算出します。

538.6379

365.3461

この値が求めた対応点の3次元座標を再度写真上の座標に変換した座標となります。この座標が写真上に表示される赤の対応点の座標です。

この値が「写真上に設定した対応点座標」と一致する(近づく)ようにSFPは写真の倍率・カメラの位置・カメラの姿勢を計算します。

 

 

 

ホーム