わかりました、何も正しくないか、少なくとも正しいことに近いと思われる4日間の無知なプログラミングの後、私の人生の難問をstackoverflowに投稿しています。少し大げさで申し訳ありませんが、今日はお粗末なプログラマーのように感じます。
とにかく、私の問題は次のとおりです。
RANSAC (N>8) を使用して基本行列を取得します。
十分な量のSURFキーポイント(〜308)が正しく一致するように、ベースラインが広いが十分に重なっている2つの画像があります(プロットします)。
今問題があります。2D ポイントを cv::findFindamentalMat に渡しますが、完全に根拠のない結果が得られます。関数は次を返します。
FundMat=[2.05148e-13 3.72341 -2.03671e+10
1.6701e+26 -4.17712 4.59533e+29
3.32414e+18 2.8843 1.91069e-26]
行列の大きなダイナミック レンジを回避するために、Hartley はデータ ポイントを正規化することを提案しました (射影空間の正規化ではなく、ユークリッド空間で)。(10^-9~10^9)
FundMat は縮尺までしか正確ではないことは理解していますが、10^-9 から 10^+9 の差は大きすぎます。
ここで他の質問を参照しましたが、手がかりが得られないようです:
どんなアイデアでも素晴らしいでしょう。これは、ソフトウェア パイプラインの残りのキャリブレーションされていないイメージを検討する際に非常に重要なステップです。
コードが役立つ場合。(インデントも色もありません。スペースが少なすぎます。) https://sites.google.com/site/3drecon124/