1

私は一連の 3 次元の点と、これらの点の投影を含むいくつかの画像を持っています。また、カメラの焦点距離と、投影された画像の主点 (以前に行ったカメラのキャリブレーションの結果) もあります。

これらのパラメータが与えられた場合、3 次元の点と画像投影の間の自動対応を見つける方法はありますか? OpenCV のドキュメントをいくつか調べましたが、今まで適切なものが見つかりませんでした。投影の自動ラベル付け、したがって投影と 3 次元点との対応を行う方法を探しています。

4

1 に答える 1

2

質問はあまり明確ではありませんが、カメラの固有のキャリブレーションはあるが、シーンに対する位置と姿勢 (キャリブレーションの「外部」部分) はないと言うつもりだと思います。

画像が 1 つしかない場合、この問題には一般的な 3D 点群に対する固有の解決策はありません。ただし、3D 点をカメラに投影する光線に沿ってどこにでも移動しても、画像は変化しないことに注意してください。

1 つまたは複数の画像がある場合、点の 3D クラウドに関するすべてを知っており (たとえば、点は既知の形状とサイズのオブジェクトに属し、その上の既知の位置にあります)、それらをそれらの画像に一致させます。は、標準的な「カメラの切除」問題です。3D ポイントを画像に投影するカメラの外部パラメータを解くだけです。

複数の画像があり、カメラが移動している間シーンが静的であることがわかっていて、各カメラ位置で「十分な」3D ポイントを画像に一致させることができる場合は、カメラのポーズを最大スケールまで解くことができます。キャリブレーションされたカメラのソルバーに関する David Nister および/または Henrik Stewenius の論文から始めて、「バンドル調整」を調べることをお勧めします。

この (膨大な) テーマについて本当に学びたいのであれば、Zisserman と Hartley のはどれよりも優れています。コードについては、 libmvvxl、およびceresバンドル アジャスターを調べてください。

于 2012-07-10T12:11:54.910 に答える