OpenCVで画像処理−2:外部パラメータの表示、や推定
メモメモメモメモ・・・行列の計算はコンピに任せます。
今回はCPUの処理速度というより人間が使いやすいかどうかになるかもしれません。
3次元の任意の軸の周りの回転行列は、回転軸vとして、
となります(導出は省略)が、水平回転と仰角回転があれば十分なので、
こちら向きの右手座標系で

でいろいろ回転できます。平行移動も行列計算でやってしまいたいので、

にして4x4行列を用意すると、平行移動と定数倍は

回転どもも拡張して

としておけば、例えば
①適当な位置に設置されたカメラで見る,ある点(x,y,z)はカメラの座標系から見てどうなるか?(画面上のどこに来るか)
@基準の座標系でのカメラのx,y,zを cx,cy,czとしておきます。
<手順>
ある点(x,y,z)に対して以下の操作をするる
1)カメラ座標が原点になるように平行移動
2)カメラの水平角、仰角の分回しもどして、カメラ座標系に合わせる。
3)スクリーンに投影する。(拡大・縮小)
まず(1)と(2)(↓)

でAがわかるので、(1)〜(3)をして

が画面上の点。
②外部パラメータが知りたい(基準の座標系のx, y, z をカメラから推定)
(ただし既知のパラメータが1つは必要)
さっきの逆を辿ればOKです。
画面上の座標(x,y)に対して以下の操作をするる
1)スクリーンに投影する。(L = zoom距離 を zとして3次元化)
1')実際の長さに延長
2)カメラの水平角、仰角の分回して、基準の座標系に合わせる。
4)カメラ座標を足して原点も合わせる。(平行移動)
Aは平行移動をまたがない限りはいつ掛けても一緒なので、まず
(1)と(2)(↓)

(対象物の...が既知のパラメータ)
でAを出してから、(1)→(2)→(1')→(3)の順にして、

を求める感じでしょうか。
« OpenCVで画像処理-1:WEBカメラ | トップページ | perlとjavascriptとxamlと »
「VC++(2008 Express Edition)」カテゴリの記事
- OpenCVで画像処理−2:外部パラメータの表示、や推定(2010.07.15)
- OpenCVで画像処理-1:WEBカメラ(2010.07.14)
- ・・・パスを通す(2010.06.09)
- C++第12回:クラスの作成(2010.05.07)
- C++第11回:リソースファイル−3(2010.04.05)
トラックバック
この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1332452/35760146
この記事へのトラックバック一覧です: OpenCVで画像処理−2:外部パラメータの表示、や推定:
» 悲しきヒーロー。゜゜(´□`鐔�)°゜。 [女の子GOGO!!のブログ]
ぴぐもんです。大変なことになってました。ボクのアイドルが!ボクのヒーローが!(鐓�Д鐓� [続きを読む]
» 悲しきヒーロー。゜゜(´□`鐔�)°゜。 [女の子GOGO!!のblog]
ぴぐもんです。大変なことになってました。ボクのアイドルが!ボクのヒーローが!(鐓�Д鐓� [続きを読む]


コメント