1

私は解決すべき挑戦的な問題があります。 Figureは、画像から派生した緑色の線を示し、赤色の線は別の画像から派生した稜線です。両方の画像は同じカメラから撮影されているため、固有のパラメータは同じです。のみ、外部パラメータは異なる、すなわち、第2の画像を撮る間にわずかな回転および平行移動が存在する。図からわかるように、2組のラインはかなり接近しています。私の仕事は、第1の画像から得られたエッジと第2の画像から得られたエッジとの間の対応を見つけることである。画像マッチングのためのエッジの対応を見つける

画像1の端の端点と画像2の端の間のユークリッド距離を計算することによって、対応する最も近い線分を取ることを述べたいくつかの情報源を見てきました。しかし、この方法は私の画像1のエッジが画像2の他のエッジの近くにあり、対応していないので、膨大な数のミスマッチが発生します。

少しの研究の後、いくつかのソースが参照されてハウスドルフ距離。私は、これは本当に私の問題を解決し、紙

「Rucklidge、ウィリアム・Jは 『効率的 ハウスドルフ距離を使用してオブジェクトを見つけることができると信じているコンピュータビジョンの』国際ジャーナル24.3 (1997):251 -270。

は本当に面白いようでした。

モデルエッジからイメージエッジへの変換を計算するための関数を定式化しました。しかし、MATLABでの実装中、私は完全に失われています。どこから始めるのですか?同じアルゴリズムの擬似コードまたは同じもののMATLAB実装に指示できれば、私は多くの義務があります。

また、私はしかしlink

"ハウスドルフ回帰"

"タイル画像の分類にハウスドルフ距離を適用します"

の承知しています、st病気、私はHausdorffの距離を最小限に抑える方法は不明です。

注1:計算コストは​​今の関心事ではありませんが、より高速なアルゴリズムが

注2好ましい:私は限り利用できる擬似コードまたはオープンな実装があるとしてこれを解決するために他のアルゴリズムや方法に開いています。

答えて

0

MATLABの画像登録ツールについて考えましたか?

imregister(https://www.mathworks.com/help/images/ref/imregister.html)では、参照として1つ、「移動」として1つの画像を挿入するだけで、アフィン変換を使用してそれらを一緒に登録します。関数呼び出しを使用すると、2枚の画像をインポートし、画像を登録することで遊ぶことが可能なGUIを開くRegistrationEstimatorコマンドを使用し、より見やすくするためにちょうど

[optimizer, metric] = imregconfig('monomodal'); 
output_registered = imregister(moving,fixed,'affine',optimizer,metric); 

です。そこから、将来の画像用にコードを書き出すことができます。

さらに、非剛体変換を考慮する場合は、同じように動作するimregdemons(https://www.mathworks.com/help/images/ref/imregdemons.html)があります。

+0

ご返信ありがとうございます。私の仕事では、画像から抽出したエッジを一致させる必要があります。画像に直接マッチさせるのは私にとってはオプションではありません。 あなたの提案通り、エッジ画像にMatlab画像登録ツールボックスを使ってみました。残念ながら、結果は正しくありませんでした。 後で私はimregdemons関数を使用しました。出力画像は入力画像と同じですが、線の歪みを除きます。しかし、依然として正確な対応には翻訳と回転が必要です。しかし、あなたの努力と時間に感謝します。 – Debaditya

+0

登録は自動的に行われる必要がありますか?そうでない場合は、ポイントペアを手動で選択し、そのポイントから変換を計算する方がよい場合があります。 – Durkee

+0

はい、手動でポイントのペアを設定することで達成できます。間違っていない場合は、イメージの周りの4〜5ポイントのペアで十分です。しかし、少なくとも1000枚の画像でこれを実行しなければならないため、自動的に行う方法を見つけなければなりません。 – Debaditya

0

Matlabのbwdist関数を使用して、ハウスドルフ距離を計算することができます。ある画像の距離変換を計算し、他の画像のエッジポイントで評価し、最大値を取ることになります。代わりに和を取ることもできます(その場合は面取り距離と呼ばれます)。この問題では、おそらく対称Hausdorff距離が必要なので、両方向で計算します。

Hausdorffとchamfer distanceの両方が、特定のアライメントのマッチ品質を測定します。最適な登録を見つけるには、複数のアラインメント変換を試し、すべてのアラインメント変換を探して評価する必要があります。別の答えで示唆されているように、自分で作成するよりも既存の登録ツールを使う方が簡単かもしれません。

+0

お返事ありがとうございました。私は、他の画像のエッジの端点に対応するピクセルの1つの画像の距離変換を計算し、また、各エッジについて最大値をとった。今度は、もう片方の画像のために各辺の距離があります。この質問をするのは私の申し立てではありますが、この情報を使って連絡文書を作成するにはどうしたらいいですか? – Debaditya

+0

bwdist関数には、最も近い対応するピクセルのインデックスを返す2番目の戻り値があります。 – nhowe

+0

返信いただきありがとうございます。私はそれを試して、結果を知らせるでしょう。 – Debaditya

関連する問題