How user move lines that is drawed in a figure interactivly and extract the data of new location of lines ?

3 visualizzazioni (ultimi 30 giorni)
After executed some codes; a result will come out with 4 lines that made a rectangular and drawn in a figure (with image background). User wants to move these lines (one or more lines) of rectangular (while they be stayed rectangular) to new location interactivly. The new data of these lines is required for using. Maybe the angles of the lines be changed(no parallel). Based on the attachment picture, first location is in red lines. User wants to change the location of lines to the 2nd location by mouse (green lines). I have the points of edges (cross lines) of lines red lines. I want the points of edges (cross lines) of 2nd location (green lines).
I prefer the function be able to use Matlab coder but it's not necessary.
  3 Commenti
marya anderson
marya anderson il 31 Mag 2018
Modificato: marya anderson il 3 Giu 2018
Yes, impoly works very well. In my case, I used imrect and impoly well. Thank you so mush. It was really helpful.
marya anderson
marya anderson il 3 Giu 2018
Thank you sloppydisk for ur answer.it works perfectly. Please put ur answer in answer box, thus, I can accept your answer. I used it in following code (ex; doc impoly):
PG = impoly(gca, P); %% P comes from my defualt Points api = iptgetapi(PG); % % Set the color of the polygon to yellow. api.setColor('yellow'); %% Create the function that constrains the movement of the polygon, specifying the boundary of the image as the limits, and then set the value of the setPositionConstraintFcn property. fcn = makeConstrainToRectFcn('impoly',get(gca,'XLim'),get(gca,'YLim')); api.setPositionConstraintFcn(fcn);
%%waiting till user double click then new points be update. wait(PG); UpdatedPoints = getPosition(PG);

Accedi per commentare.

Risposta accettata

sloppydisk
sloppydisk il 3 Giu 2018
Take a look at
doc impoly
or
doc imline
For example:
imshow('gantrycrane.png');
impoly

Più risposte (0)

Prodotti


Release

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by