Plot graph from tracked points in 2D pictures
6 views (last 30 days)
Show older comments
In some Video i tracked an moving object. I extract the width and height in pixels and set these values as limit for my plot diagram. Now i want to get the tracked points in the diagram.
What I'm currently doing:
% read, track, display points and results in each frame
while hasFrame(videoReader)
frame = readFrame(videoReader);
[points,validity] = tracker(frame);
out = insertMarker(frame,points(validity, :),'+');
writeVideo(v1, out);
videoPlayer(out);
end
close(v1);
release(videoPlayer);
% draw diagram with position of tracked markers as graph
plot(points(:,1),points(:,2));
xlim([0 imageWidth])
ylim([0 imageHeight])
imageWidth and imageHeight are getting extracted from the first frame. The plotting is actually showing something, but the graph is not corresponding to my real tracked points. The Image is a 2D image, like looking from top on a table. So i only need x and y coordinates in pixels of the points and plot them.
What am I doing wrong?
0 Comments
Accepted Answer
Image Analyst
on 3 Dec 2022
Moved: Image Analyst
on 3 Dec 2022
Are you sure points is in the form (x,y) and not (row, column) because if it were the plot would be rotated 90 degrees.
Why not display the last frame and plot the points over it?
imshow(frame);
hold on
axis('on', 'image')
plot(points(:,1), points(:,2), 'r.-', 'LineWidth', 2, 'MarkerSize', 30);
2 Comments
Image Analyst
on 3 Dec 2022
OK, then can you please click the "Accept this answer" link? Thanks in advance. 🙂
More Answers (0)
See Also
Categories
Find more on Point Cloud Processing 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!