Wait for user to draw rectangle
2 views (last 30 days)
Show older comments
Mohamed Amine Henchir
on 1 Nov 2018
Commented: Mohamed Amine Henchir
on 11 Dec 2018
would like to crop an image using drawrectangle, the thing is I want the user to be the one who ends the selection process that's why I thought about using waitfor but it didn't work so far, can you explain why? here is my code
if true
function select_roi_Callback(hObject, eventdata, handles)
% hObject handle to select_roi (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
guidata(hObject, handles);
A = handles.I;
h = drawrectangle(handles.axes1);
waitfor(h);
I = imcrop(A,h.Position);
imshow(I);
handles.I = I;
guidata(handles.figure1,handles);
h = datacursormode;
set(h,'DisplayStyle','datatip',...
'SnapToDataVertex','off','Enable','on')
end
thank you!
0 Comments
Accepted Answer
Matt J
on 1 Nov 2018
Edited: Matt J
on 1 Nov 2018
If you use imrect instead, the code will pause until the user finalizes the rectangle selection by double-clicking.
h=imrect;
wait(h);
4 Comments
Carlos Castilla
on 3 Dec 2018
h1 = drawrectangle('Position', lPoints,'FixedAspectRatio',true);
while h1.Selected == 0
pause;
end
More Answers (0)
See Also
Categories
Find more on Descriptive Statistics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!