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);
답변 (2개)
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
Vinai Datta Thatiparthi
2020년 2월 7일
편집: Vinai Datta Thatiparthi
2020년 2월 7일
Thanks @Guillaume, this is clearly a better approach.
Kirsty Bennett
2020년 2월 20일
Md Shamim Hossain
2021년 7월 10일
Is it possible to save three images using the same process?
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!
카테고리
도움말 센터 및 File Exchange에서 Targeting FPGA & SoC Hardware에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!