get position of imfreehand
이전 댓글 표시
hi, how can i get the position of a drawn freehand, and after it i can draw the same freehand again by that position. i got the position by getposition, but i can't draw it again!!! plz help me tnx
채택된 답변
추가 답변 (2개)
Andrew Newell
2011년 6월 15일
The output of imfreehand is chopped up into a few children (I don't know why), so you have to dig a bit to get the data. Here is a demo:
figure
subplot 211
h = imfreehand; % Draw your doodle here
hc = get(h,'Children');
XData = []; YData = [];
for ii=1:length(hc)
x = get(hc(ii),'XData');
y = get(hc(ii),'YData');
XData = [XData; x(:)];
YData = [YData; y(:)];
end
subplot 212
plot(XData,YData)
댓글 수: 1
Raymundo Dominguez
2016년 5월 27일
I found your code very helpful; I would like to comment something about the x,y outputs: even for a very small free drawing line (for example from coordinates (1,1) to (4,5) of the image), the length of these vectors are too big; 85 points each one in this example. Do you know which is the reason for that? Thanks in advance.
Tim Jackman
2018년 9월 27일
The new drawfreehand ROI supports get/set for Position:
For example, we can draw a freehand shape, and then update the position:
imshow('peppers.png')
h = drawfreehand;
% Shift the position down and to the right by 50 pixels
h.Position = h.Position + 50;
카테고리
도움말 센터 및 File Exchange에서 ROI-Based Processing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!