4

Matlab R2013a を使用して、2 つの類似した画像を整列させています。軸と y の位置合わせがずれているために両方の画像が適合しないことを除けば、出力は問題ないように見えます。これは画像の回転によるものだと思います。アフィン変換後に両方の画像を重ね合わせることができるように、画像を「中央に配置」する簡単な方法はありますか?

Transformation = imregtform(uint8(A),uint8(B),'affine', ...
                        optimizer,metric);
[X RB] = imwarp(A,Transformation,'OutputView',imref2d(size(A)));

Bは元の画像です。A は B に登録されます。アフィン変換後、X には回転およびスケーリングされたイメージが含まれますが、A に完全に適合するように x 軸と y 軸で位置合わせする必要があります。

ヒントをありがとう!ドゥリン

4

2 に答える 2

3

OutputView では、B が参照イメージであり、リサンプリングされたバージョンの A を B と同じサイズにする必要があるため、size(B) が必要です。

于 2013-06-27T02:42:55.047 に答える
2

関数 Xの出力画像のサイズをimwarp、X をオーバーレイする入力画像 B のサイズと同じに設定します。

X = imwarp(A, Transformation, 'OutputView', imref2d( size(B) ));

次に、 を使用imfuseして 2 つの画像を重ねて表示できますimshow

falseColorOverlay = imfuse( B, X);
imshow( falseColorOverlay, 'initialMagnification', 'fit');

B はグリーンに、X はマゼンタに着色されます。

于 2015-09-08T21:30:00.113 に答える