###前提・実現したいこと
1:撮影した画像から,カメラの位置と姿勢を推定したい.
2:斜め上から撮影するような形のときに,真上から撮影されたような画像に変換したい.
###現在できていること
1:cvCalibrateCamera2を使って,カメラの内部パラメータを取得できた.
2:cvFindExtrinsicCameraParams2でカメラの外部パラメータを取得できた.
3:上記二つをxmlファイルで出力した.
###わからない,理解できていないところ
・カメラの外部パラメータとして出てきたものが,それぞれどのような意味を持っているのか.(どのような単位なのか)
・出てきたパラメータをどう計算すればどの値になるのか.(計算方法)
###使用している環境・参考にしたプログラム
環境:VisualStudio2012 OpenCV C言語 USBカメラ
カメラキャリブレーションの参考(キャリブレーション画像は撮影済みのものを読み込むようにした)
###出力したもの
<rotation_vector type_id="opencv-matrix"> <rows>1</rows> <cols>3</cols> <dt>d</dt> <data> 2.3781226828837093e-001 -3.2224842320743338e-002 -1.3324353126696742e-002</data></rotation_vector> <rot_mat type_id="opencv-matrix"> <rows>3</rows> <cols>3</cols> <dt>d</dt> <data> 9.9939493194045448e-001 9.3831103224887059e-003 -3.3492196888385589e-002 -1.7009750537442966e-002 9.7177019134103193e-001 -2.3531545552230149e-001 3.0338727698905540e-002 2.3574276757026991e-001 9.7134180860288377e-001</data></rot_mat> <translation_vector type_id="opencv-matrix"> <rows>1</rows> <cols>3</cols> <dt>d</dt> <data> -4.5785474664206120e+001 -1.6744503834913760e+002 5.8612374994990478e+002</data></translation_vector>
答えだけでなく,ヒントや参考になるサイトなどがありましたら教えていただけると助かります.
よろしくお願いします.
Chironianさん
前回に引き続き今回も回答ありがとうございます.
カメラを平行移動させてtranslationの変化を見てみました.
カメラをチェスボードの近くから遠ざけるように移動させたときは
移動前
<translation type_id="opencv-matrix"> <rows>1</rows> <cols>3</cols> <dt>d</dt> <data> -5.2026257035672083e+000 -8.7937276547163435e+001 4.9008957615364341e+002</data></translation> </opencv_storage>
移動後
<translation type_id="opencv-matrix"> <rows>1</rows> <cols>3</cols> <dt>d</dt> <data> -5.2429777870090728e+000 -8.7795283061065916e+001 7.5504258235814234e+002</data></translation> </opencv_storage>
となっていました.
3個目の値が増えているので距離ができるとZが増えるようでした.
また,左から右に移動させたときは
移動前
<translation type_id="opencv-matrix"> <rows>1</rows> <cols>3</cols> <dt>d</dt> <data> -2.4047192618357624e+001 -8.6068106084588038e+001 6.3683231706354297e+002</data></translation> </opencv_storage>
移動後
<translation type_id="opencv-matrix"> <rows>1</rows> <cols>3</cols> <dt>d</dt> <data> -2.9789650136340668e+002 -7.9622105746017198e+001 6.3870792291544353e+002</data></translation> </opencv_storage>
となっており2個目の値が減っていました.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/10 10:26
2015/12/10 10:55