1

わかりました。最初に、Matlab ツールと chessboardthingie を使用して組み込みパラメーターを取得します。そして、私は cv::solvePnP() を使用します

はい、検索を使用しましたが、残念ながらあまり役に立ちませんでした。

タイトルが示すように、現実世界のカメラ座標を見つける必要があります。しかし、opencv コマンドに関するいくつかの問題にも直面しています。これまで、画像内のいくつかのポイントと対応するワールド座標を知っています。(最悪6点が判明)

カメラ座標を取得するには、次の式を使用することを考えました。

transp(x,y,z)= - transp(R)*t 、ここで R と t は外部パラメータです

だから今私の問題は次のとおりです: R と t を計算する方法は? この問題を解決する opencv 関数は存在しますか? 実際には多くのカメラキャリブレーション機能があります。それとも、最初に固有パラメータを計算する必要がありますか?

編集:ここに私が意味する機能があります :

しかし、パラメータがどのように見えるべきかわかりません。たとえば、 cv::Mat ([[x1] [y1] [z1]] .... [[x6] [y6] [z6]]) のような 3x6 マトリックスを手動で初期化するにはどうすればよいですか

4

1 に答える 1

0

R行列とT行列は、ステレオシステムの2つのカメラビュー間の回転と平行移動です。

おそらく、単一のターゲットに対するカメラの位置を見つけることができます(キャリブレーションされたカメラと既知のターゲットがあれば)が、ソフトウェアの説明はステレオペアを対象としています。

openCVの本の第11章と第12章は良い説明をしています

于 2012-02-24T17:23:02.747 に答える