image() function is overwriting old image?

11 views (last 30 days)
Anna
Anna on 17 Jan 2014
Commented: Image Analyst on 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?

Answers (2)

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

Sign in to comment.


Image Analyst
Image Analyst on 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!