3

オブジェクト座標に 4 つの同一平面上のポイントと、対応するイメージ ポイント (イメージ プレーン上) があります。カメラに対するオブジェクト プレーンの相対移動と回転を計算したいと考えています。

FindExtrinsicCameraParams2 が解決策になるはずです。しかし、使い方に問題があります。コンパイル時にエラーが表示され続ける

OpenCVでこの関数をうまく使用した人はいますか?? この関数を使用するためのコメントやサンプル コードを教えてください。

ありがとうございました!

4

3 に答える 3

3

私は OpenCV 関数FindHomography()を使用します。より単純で、ホモグラフィから外部パラメーターに簡単に変換できるからです。

このように関数を呼び出す必要があります

FindHomography(srcPoints, dstPoints, H, method, ransacReprojThreshold=3.0, status=None)

メソッドは CV_RANSAC です。4 点以上に合格した場合、RANSAC はモデルを満たすために最適な 4 点セットを選択します。

H でホモグラフィを取得します。それを外部パラメーターに変換する場合は、この投稿で説明することを行う必要があります。

基本的に、外部行列 (ポーズ) は、1 列目、2 列目、4 列目が tp ホモグラフィに等しいです。3 番目の列は、1 番目と 2 番目の列の外積であるため、冗長です。

于 2012-08-24T08:36:04.817 に答える
1

3D キャリブレーションに関連する OpenCV 関数を数日間テストした後、すべてのエラー、ぎこちない出力数を克服し、findHomography、solvePnP (FindExtrinsicCameraParams の新しいバージョン)、および cvProjectPoints を含むこれらの関数の正しい出力を最終的に取得しました。いくつかのヒントはOpenCV cvProjectPoints2 関数の使用で説明されています。これらのヒントは、この投稿のエラーにも適用されます。具体的には、この投稿では、私の違反float データを CV_64F Mat に渡しています。すべて完了しました。

于 2012-08-31T06:02:34.107 に答える
0

CalibrateCamera2 を使用できます。

objectPts - 4 つの共面ポイント imagePts - 対応するイメージ ポイント。

このメソッドは、固有行列と歪み係数を計算します。これにより、objectPts が imagePts としてカメラの画像平面にどのように投影されたかがわかります。

1 台のカメラしか使用していないため、ここで計算する外部パラメーターはありません。2 台のカメラを使用した場合、StereoCalibrate を使用して Extrinsic Matrix を計算しようとしています。

アンクル

于 2012-08-24T06:04:53.857 に答える