image() function is overwriting old image?

12 visualizzazioni (ultimi 30 giorni)
Anna
Anna il 17 Gen 2014
Commentato: Image Analyst il 17 Gen 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?

Risposte (2)

Azzi Abdelmalek
Azzi Abdelmalek il 17 Gen 2014
Modificato: Azzi Abdelmalek il 17 Gen 2014
Use
imshow(im1)
figure
imshow(im2)
  2 Commenti
Anna
Anna il 17 Gen 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 il 17 Gen 2014
The second chunk of code in my answer shows how to do that.

Accedi per commentare.


Image Analyst
Image Analyst il 17 Gen 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.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by