How to create the output Video using Videowriter.

2 ビュー (過去 30 日間)
VENKATA NARESH MALLADI
VENKATA NARESH MALLADI 2017 年 3 月 31 日
再開済み: VENKATA NARESH MALLADI 2017 年 3 月 31 日
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 件)

カテゴリ

Help Center および File ExchangeTracking and Motion Estimation についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by