画像エピポーラ補正-基本行列-Python
基本マトリックス
基本行列Fは、2つのカメラのパラメーター行列(相対回転Rと平行移動t)で表すことができます。Fを使用してカメラパラメーターを回復できます。また、Fは、2つのビューのジオメトリを反映する対応する投影されたイメージポイントから計算できます(極座標幾何学)固有の射影幾何学関係、つまり基本行列は、2つの画像平面の空間内の点間の座標関係を表します。
エピポーラジオメトリ
以前のカメラモデルでは、x = PXであることがわかっています。小さな穴のカメラモデルを通じて、光線Cxがカメラの中心Cから点xに投影された場合、光線は対応する画像点の3次元空間点Xを通過する必要がありますが、Xの特定の位置は1つの画像点だけでは決定できないことは明らかです。2つの一致するピクセルはどうですか?
x ′を3次元の点Xの別の画像点とし、対応するカメラの中心をC′とすると、光線C′x ′もカメラの中心C′から点に投影され、光線もXを通過する必要があります。つまり、 2つの光線は、一致するイメージポイントのペアから逆投影され、空間内の3次元のポイントXで交差する必要があると言われています。次に、一致する画像ポイントのペア間にこの種の制約関係があり、この制約は2つのビューのエピポーラ制約と呼ばれます。
テスト:
F基底行列
基本行列計算から計算されたカメラ行列
後方交差法を使用して、取得したパラメータに基づいて最初の画像を3番目の画像と照合します
最初の画像と2番目と3番目の画像のカメラマトリックスを取得する
まとめ
- 写真の撮影距離が少し遠い、マッチング効果があまり良くない、間違ったマッチングポイントがたくさんある、撮影距離を短くしようとすると、間違ったマッチングポイントが減り、画像の品質を向上させることもできる、2-3Mの写真が最適にマッチするただし、対応するプログラムの実行にかかる時間コストは大きくなり、最適化された特徴点はより正確になります。
- 一致点が類似しすぎて、最適化された結果でも間違った一致点が存在するために不一致が発生する場合があります。距離、明るさ、画像キャプチャの品質が最終結果に影響します
エラーを報告する
E:\ PyCharm 2018.2.5 \ helpers \ pycharm \ docrunner.py:1:DeprecationWarning:impモジュールは importlibの代わりに廃止されました。モジュール参照「IMPを輸入代替用途のためのマニュアルを
これは、impがPython 3.4以降廃止されたためです。代わりにimportlibを使用することをお勧めします
解決策1:
Pycharmインストールディレクトリ\ pycharm\docrunner.py
ファイルを開き、次の2つの手順を実行して変更します。
- 最初の行で、コメント化し
imp
てインポートしますimportlib
- 230行目の
loadSource
関数、コメントimp.load_source
、importlib.machinery.SourceFileLoader
ロードモジュールを使用
解決策2:
インポートパッケージの場所で、impをimportlibに変更します。
->
エラーは直接解除されますが、Pythonの下位バージョンに役立つかどうかはわかりません。メソッド1を使用することをお勧めします。