Using image registration parameters to transform another image

I have multispectral data and I want to run image registration on 1 color and then use the trasformation parameters to register the other colors. I started with some test data I offset manually to write/test the code, but am having trouble. I thought that using imregtform would output the transormation parameters that are used by imregister. Then I could use those parameters with imwarp for the other colors, but when testing it to see if the result between imregister and the combo of imregtform + imwarp I don't get the same result. I have the code and example images below.
[optimizer, metric] = imregconfig('multimodal')
im2R = imregister(im2, im, 'rigid', optimizer, metric);
tform = imregtform(im2, im, 'rigid', optimizer, metric);
im2warp = imwarp(im2, tform);

 採用された回答

Joseph Pyle
Joseph Pyle 2022 年 7 月 28 日

0 投票

I found out I need to fix the output view of the registered image to the reference image. I think otherwise it would be translated down, but plotted on new axis so it just ends up looking the same. Just needed to update the last line of code.
[optimizer, metric] = imregconfig('multimodal')
im2R = imregister(im2, im, 'rigid', optimizer, metric);
tform = imregtform(im2, im, 'rigid', optimizer, metric);
im2warp = imwarp(im2, tform, 'OutputView', imref2d(size(im)));

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeGeometric Transformation and Image Registration についてさらに検索

製品

リリース

R2021a

質問済み:

2022 年 7 月 27 日

回答済み:

2022 年 7 月 28 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by