1

solvePnPRansac()OpenCV を使用して、オブジェクトの既知の 2D 投影から 3D ポーズを計算しようとしています。私の値 (固有のカメラ パラメーター、モデル ポイント (3D)、画像ポイント (2D)) はすべて double 値です。普通の人solvePnP()はそれについて文句を言いません。

ただし、solvePnPRansac を使用しようとすると、エラー メッセージが表示されます。

アサーションに失敗しました < opoints.depth() == CV_32F >

この関数を double 値で使用するにはどうすればよいですか? (float を使用しても、望ましい結果が得られません)

4

1 に答える 1

2

今日、SolvePnPRAnsacをテストしました。ITERATIVEとP3Pの結果は同じように見えますが、これらの結果を使用してオブジェクトをレンダリングすると、赤くなった画像は現在のフレームとは大きく異なります。EPnPオプションの場合、平行移動ベクトルはITERATIVEおよびP3Pの結果と非常に似ていますが、回転は他の2つのオプションとは大きく異なります。ただし、Epnpの結果から取得したレンダリング画像は非常に良好であり、アルゴリズムの実装にP3PとITERATIVEに問題があるようです。

于 2012-08-22T12:09:21.663 に答える