How to handle imroi in gui?

Hello guys, I've been trying to make image processing gui tool.
In the gui there's image display window and functioning button's.
By the way, I planted a button that functioning imline, imrect and imfreehand in the gui.
So far I had no problem. But after I've made several line or rectangle, I needed to erase some of them.
At this very point, I have no Idea about how to handle these figure I've already made.
I just want to certain selected one to be erased by 'delete' button.
How can I break through this problem? :(

Answers (1)

You can use the following function to undo the last n plotting operations:
function undo_plot(h, n)
% UNDO_PLOT Undo last 'n' plotting operations.
if nargin == 1
n = 1;
end
if n < 1
error('Can''t undo < 1 plotting operation!');
end
figure(h);
children = get(gca, 'children');
for i = 1 : n
delete(children(i));
end

2 Comments

example of use:
plot([1,1],[2,3]) % plot vertical line hold on plot([0,2],[2,5]) % plot another line undo_plot(1,1) % delete last line and plot returns to its first layout
Thank you for your opinion. But I'm afraid, my intention is not to erase lastly created IMROI. I want erase arbitrary one out of several IMROIs. Anyway, I appreciate your kind proposal. Thanks.

Sign in to comment.

Categories

Find more on Environment and Settings in Help Center and File Exchange

Products

Asked:

on 29 May 2013

Community Treasure Hunt

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

Start Hunting!