2

カメラのポーズ/位置を取得するために OpenCVs solvePnP を使用しています。ユーザーが選択したポイントを使用して、既にキャリブレーションされており、半径方向および接線方向の歪みの修正が適用されている画像を使用してこれを行っています。

ただし、 solvePnP() は、画像で選択されたポイントに加えて、歪み係数を入力として受け取るようです。これは、SolvePnP が関数への入力として指定されたポイントに歪み修正を適用することを意味すると思います。

ソース画像はすでにたる型に歪んでいるため、これは私のプログラムで小さなエラーを引き起こしますよね?

もしそうなら、どうすれば solvePnP() にバレル歪みを無視させることができますか? 歪み係数が 1 に設定されたベクトルを渡すことはできますか? または、すべての値を 0 に設定する必要がありますか? 他の方法?

4

1 に答える 1

4

過去に私は空の cv::Mat を渡しました

cv::solvePnP(world_points, image_points, camera_mat, cv::Mat(), rotation_vector, translation_vector);

ドキュメントによると、NULL を渡すと、すべての係数が 0 に設定されます。

于 2013-01-24T16:23:39.687 に答える