how to draw lines using given points in a video?

24 Ansichten (letzte 30 Tage)
vimal gayan
vimal gayan am 17 Mai 2019
Kommentiert: vimal gayan am 24 Mai 2019
First,I give some points to starting posistion of the video,I need to draw lines through that points and get angles using x,y values,
Currently i able add points and get x,y values of those points while video playing.
videoFileReader = vision.VideoFileReader('ex.mp4');
videoPlayer = vision.VideoPlayer('Position',[1,10,1280,720]);
objectFrame = videoFileReader();
objectRegion = [264,122,93,93];
figure;
imshow(objectFrame);
[shoulder_X,shoulder_Y]= ginput(1);
[elbow_x,elbow_y]= ginput(1);
[wrist_x,wrist_y]= ginput(1);
pos = [shoulder_X,shoulder_Y;elbow_x,elbow_y;wrist_x,wrist_y];
color = {'red','green','magenta'};
start_x = shoulder_X;
start_y=shoulder_Y;
disp(shoulder_X +" - "+shoulder_Y);
% imshow(pointImage);
points = detectMinEigenFeatures(rgb2gray(objectFrame));
pointImage1 = insertMarker(objectFrame,pos,'+','Color',color,'size',10);
plot([shoulder_X,shoulder_Y], [elbow_x,elbow_y]);
plot([wrist_x,wrist_y], [elbow_x,elbow_y]);
figure;
imshow(pointImage1);
title('Detected interest points');
tracker = vision.PointTracker('MaxBidirectionalError',1);
initialize(tracker,pos,objectFrame);
while ~isDone(videoFileReader)
frame = videoFileReader();
[points,validity] = tracker(frame);
out = insertMarker(frame,points(validity, :),'+');
videoPlayer(out);
disp(points);
end
Capturesd.PNG
As shown in above image,
Black circle: current status of my code,and these points move when video playing,
Red Circle:I need to improve red circle to this level.and these lines should move when video playing.
I try to draw lines using plot function but its not work.
plot([shoulder_X,shoulder_Y], [elbow_x,elbow_y]);
plot([wrist_x,wrist_y], [elbow_x,elbow_y]);
  2 Kommentare
darova
darova am 17 Mai 2019
try
plot([shoulder_X elbow_x wrist_x shoulder_X], ...
[shoulder_Y elbow_y wrist_y shoulder_Y])
vimal gayan
vimal gayan am 17 Mai 2019
not working :(

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Mark Sherstan
Mark Sherstan am 17 Mai 2019
Use insertShape(). Cool project!
  10 Kommentare
vimal gayan
vimal gayan am 24 Mai 2019
Bearbeitet: vimal gayan am 24 Mai 2019
got it,It works now as i want.Thanks for the continues help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by