得られた結果と提供されたドキュメントに基づいて、非平面リグを使用したキャリブレーションは OpenCV では機能しないと結論付けました (最初の推測に大きく依存しています)。関数のドキュメントによるとcalibrateCamera
このアルゴリズムは、次の手順を実行します。
- 初期固有パラメーター (平面キャリブレーション パターンでのみ使用可能なオプション) を計算するか、入力パラメーターから読み取ります。CV_CALIB_FIX_K? が指定されています。
- 内部パラメーターが既知であるかのように、カメラの初期姿勢を推定します。これは、solvePnP を使用して行われます
- グローバルなレーベンバーグ・マルカート最適化アルゴリズムを実行して、再投影誤差、つまり、観測された特徴点 imagePoints と投影された (カメラ パラメーターとポーズの現在の推定値を使用して) オブジェクト ポイント objectPoints の間の距離の二乗の合計を最小化します。詳細については、projectPoints を参照してください。
また、入力として非平面リグを使用する場合は、固有の初期推定値を提供する必要があります。これにより、最初のポイントが確認されます。
それで、私の質問は、非平面リグの組み込み関数 (またはおそらく外部関数と一緒に) を見つける実装を備えた利用可能なライブラリ (任意の言語) はありますか?