How to save imshowpair figure using imwrite?

5 ビュー (過去 30 日間)
Kirsty Bennett
Kirsty Bennett 2020 年 1 月 31 日
コメント済み: Md Shamim Hossain 2021 年 7 月 10 日
How would I save the following as a binary image? I want to use imwrite, or be able to save it as a variable in the workspace so that I can use bwskel.
registered = imregister(Moving,Fixed,'Similarity',optimizer,metric);
figure
A = imshowpair(registered,Fixed);

回答 (2 件)

Guillaume
Guillaume 2020 年 2 月 6 日
No, no, no, don't use print or saveas, this is possibly going to rescale your image, change the the colour depth, etc.
A simpler and reliable way is to use imfuse instead of imshowpair. imshowpair is for displaying a pair, imfuse is for creating an image of the pair. In any other way, they work exactly the same and have the same options
registered = imregister(Moving,Fixed,'Similarity',optimizer,metric);
fusedpair = imfused(registered, Fixed);
imwrite(fusedpair, 'somefile.png');
  3 件のコメント
Kirsty Bennett
Kirsty Bennett 2020 年 2 月 20 日
Thank you so much!! Literally saved me today :D
Md Shamim Hossain
Md Shamim Hossain 2021 年 7 月 10 日
Is it possible to save three images using the same process?

サインインしてコメントする。


Vinai Datta Thatiparthi
Vinai Datta Thatiparthi 2020 年 2 月 4 日
Hey Kirsty,
Since imshowpair returns class matlab.graphics.primitive.Image, imwrite cannot be used directly. Instead, you can use the functions -
saveas(gcf, 'savedImage.jpeg', 'jpeg');
print(gcf, '-djpeg', 'savedImage.jpeg', '-r0'); % Print allows you to specify the resolution
% at which you want to save the image
Hope this helps!
  1 件のコメント
Kirsty Bennett
Kirsty Bennett 2020 年 2 月 6 日
Thank you Vinai. I'll use the saveas function :)

サインインしてコメントする。

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by