How to save imshowpair figure using imwrite?

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);

Respuestas (2)

Guillaume
Guillaume el 6 de Feb. de 2020
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 comentarios

Vinai Datta Thatiparthi
Vinai Datta Thatiparthi el 7 de Feb. de 2020
Editada: Vinai Datta Thatiparthi el 7 de Feb. de 2020
Thanks @Guillaume, this is clearly a better approach.
Kirsty Bennett
Kirsty Bennett el 20 de Feb. de 2020
Thank you so much!! Literally saved me today :D
Md Shamim Hossain
Md Shamim Hossain el 10 de Jul. de 2021
Is it possible to save three images using the same process?

Iniciar sesión para comentar.

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!

Productos

Versión

R2019a

Preguntada:

el 31 de En. de 2020

Comentada:

el 10 de Jul. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by