image() function is overwriting old image?

12 vues (au cours des 30 derniers jours)
Anna
Anna le 17 Jan 2014
Commenté : Image Analyst le 17 Jan 2014
I have a code that goes as follows:
image(uint8(original))
<commands to manipulate image>
image(new)
The problem here is that I want to be able to display the original image (line 1) and the new image (line 3) in two different windows. It currently overwrites the original image with the new one. How can I get it to display the new image in a separate window?

Réponses (2)

Azzi Abdelmalek
Azzi Abdelmalek le 17 Jan 2014
Modifié(e) : Azzi Abdelmalek le 17 Jan 2014
Use
imshow(im1)
figure
imshow(im2)
  2 commentaires
Anna
Anna le 17 Jan 2014
Using the imshow command seems to remove the axes which I need. Can I use just the 'figure' command to view both?
Image Analyst
Image Analyst le 17 Jan 2014
The second chunk of code in my answer shows how to do that.

Connectez-vous pour commenter.


Image Analyst
Image Analyst le 17 Jan 2014
Anna, There are a variety of ways. You could use GUIDE and place two axes on there and then so
axes(handles.axes1);
image(originalImage);
axes(handles.axes2);
image(secondImage);
Or you could do it in a new figure with only those two axes on them (both on one figure):
figure; % Create new blank figure
subplot(1,2,1);
image(originalImage);
subplot(1,2,2);
image(secondImage);
Or you could have two separate figures like Azzi showed you. It just depends on how you want it to appear, really.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by