2010年9月2日木曜日

OpenCV 画面上の四角の3次元座標をもとめる

cvFindExtrinsicCameraParams2( &cvpoint3d, &cvpoint2d, cvintmat, dist, cvrvec, cvtvec);
で求める

cvpoint3d: 3Dモデルの座標群
cvpoint2d: 画面上の座標
cvintmaat: カメラマトリックス
dist: 歪み係数ベクル
cvrvec: 回転ベクトル(出力)
cvtvec: 並進ベクトル(出力)
詳細はここ

cvrvec: 回転ベクトル(出力)
cvtvec: 並進ベクトル(出力)
これらを求めたい

cvintmaat: カメラマトリックス
dist: 歪み係数ベクル
これらが必要になる

一連のソースコード

カメラからチェッカーボードをよみキャリブレーション

マーカー検出など

複数枚の画像から三次元位置の計測
エピポーラ幾何

自然特徴点からマーカを自動生成する拡張現実システムの開発
OpenCVでARToolKitのようなこと

OpenCV2.2でのコードとFloatでの精度問題
http://permalink.gmane.org/gmane.comp.lib.opencv/39004

1) カメラ入力動画から複数枚のチェスボードパターン画像を取得。
2) 1)の画像より cvCalibrateCamera2 を用いて内部パラメータ、外部パラメータを求める。
3) カメラ入力動画ループ内で cvFindChessboardCorners で得られたコーナーの四隅の点を
2)で得られた内部パラメータと共に cvFindExtrinsicCameraParams2 に渡し、外部パラメータ(カメラ位置)を求める。




1 件のコメント:

  1. OpenCV2.2でのコードとその問題

    http://permalink.gmane.org/gmane.comp.lib.opencv/39004

    では精度の問題がある

    返信削除