Extract position of all draw points
4 views (last 30 days)
Show older comments
Based on this question (https://www.mathworks.com/matlabcentral/answers/545177-draw-points-on-uiaxes-until-you-press-a-button-in-app-designer?s_tid=srchtitle), how can I get all the position of the pointhandles?
function StartButtonPushed(app, event)
imshow('peppers.png','Parent',app.ImageAxes);
userStopped = false;
pointhandles = gobjects();
while ~userStopped
a = drawpoint(app.ImageAxes);
if ~isvalid(a) || isempty(a.Position)
% End the loop
userStopped = true;
else
% store point object handle
pointhandles(end+1) = a;
end
end
disp(pointhandles)
end
0 Comments
Accepted Answer
Adam Danz
on 29 Dec 2021
Edited: Adam Danz
on 29 Dec 2021
1. Add this to the end after the while-loop to get rid of the initial empty handle
pointhandles(1) = [];
2. Extract the position data from the pointhandles vector.
positions = cell2mat(get(pointhandles, 'position'))
positions will be an n*2 matrix of [x,y] coordinates for n points.
0 Comments
More Answers (0)
See Also
Categories
Find more on Graphics Object Programming 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!