1

この関数をテストしたいだけです。それでも、最初にいくつかの包括的なエラーが発生し、最終的に解決策を見つけました。つまり、両方のobjectPoints&をそれぞれ&imagePointsに変更する必要があり、コードは正常に機能します。このため、OpenCVのドキュメントは非常に誤りがあり、すべてのマトリックス表現が機能することがわかります。CV_32FC3CV_32FC2

このバグを乗り越えて、間違った出力があります:

ここに画像の説明を入力してください

投影された画像ポイントは不合理です(もちろん、入力データを確認しました)。

誰かがOpenCVのこの機能を経験し、正しい投影を行ったことがありますか?

編集01:output(2,2)= -1.#QNAN000

=>これはエラーの原因を知るための手がかりになりますか?

4

1 に答える 1

0

原因は、OpenCVマトリックスでの作業経験が不足しているためです。2 dyasが機能した後、CvMatとMatでテストします。私はいくつかのポイントを学びました:

  • この投稿から良い提案を見つけた厄介な数字が表示されないように、優れたマトリックス表示関数を作成しますマルチチャネルマット表示関数

  • 事前定義されたデータを使用してOpenCVマトリックスをフィード/初期化するときは注意してください。また、1チャネルまたはマルチチャネルのマ​​トリックスには注意してください。OpenCVが入力データをどのように理解するかを知る前に、いくつか試してみてください

  • cvProjectPoints2が入力/出力として単一チャネル行列を取得しないことを確認します

すべてのデバッグの後、私の出力は次のようになります。

ここに画像の説明を入力してください

これは私の実際のオブジェクトポイントとイメージポイントとキャリブレーションされたカメラマトリックスにかなり近いです

于 2012-08-30T07:39:59.273 に答える