image() function is overwriting old image?

12 次查看(过去 30 天)
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?

回答(2 个)

Azzi Abdelmalek
Azzi Abdelmalek 2014-1-17
编辑:Azzi Abdelmalek 2014-1-17
Use
imshow(im1)
figure
imshow(im2)
  2 个评论
Anna
Anna 2014-1-17
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 2014-1-17
The second chunk of code in my answer shows how to do that.

请先登录,再进行评论。


Image Analyst
Image Analyst 2014-1-17
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.

标签

Community Treasure Hunt

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

Start Hunting!

Translated by