How to create the output Video using Videowriter.
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am tracking an object by mouse selection and want to save the video with tracking results. Here is my code.
videoReader = vision.VideoFileReader('1.mp4'); videoFrame = step(videoReader); figure; imshow(videoFrame); title('Select the Object'); rect = getrect; bboxPoints = bbox2points(rect(1, :)); pointTracker = vision.PointTracker('MaxBidirectionalError', 2); points = bboxPoints; initialize(pointTracker, points, videoFrame); videoPlayer = vision.VideoPlayer('Position',... [100 100 [size(videoFrame, 2), size(videoFrame, 1)]+30]); oldPoints = points; while ~isDone(videoReader)
videoFrame = step(videoReader);
[points, isFound] = step(pointTracker, videoFrame);
visiblePoints = points(isFound, :);
oldInliers = oldPoints(isFound, :);
if size(visiblePoints, 1) >= 1 % need at least 2 points
[xform, oldInliers, visiblePoints] = estimateGeometricTransform(...
oldInliers, visiblePoints, 'similarity', 'MaxDistance', 4);
bboxPolygon = reshape(bboxPoints', 1, []);
videoFrame = insertShape(videoFrame, 'Polygon', bboxPolygon, ...
'LineWidth', 2);
videoFrame = insertMarker(videoFrame, visiblePoints, '+', ...
'Color', 'white');
oldPoints = visiblePoints;
setPoints(pointTracker, oldPoints);
end
% Display the annotated video frame using the video player object
step(videoPlayer, videoFrame);
% stop(reader);
end
release(videoFileReader); release(videoPlayer); release(pointTracker);
0 commentaires
Réponses (0)
Voir également
Catégories
En savoir plus sur Tracking and Motion Estimation dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!