Save a video from video frames and text
6 次查看(过去 30 天)
显示 更早的评论
Hi everyone,
I have a video generated from an external software I want to insert dynamic text on each frame. I was able to do so in Matlab with the code below. However, I am clueless about the way to save the new video in a .mp4 or .avi file. I would like to have it in such format so that I can open it from any video readers.
Can anyone help?
Thank you! :-)
Alice
% Import video generated from an external software
v = VideoReader('video_L4_L8_Jan_cc25.mp4');
% Import csv file with metadata of each image
t = readtable('list_L4_L8_Jan_cc25.csv');
% Generate a video with the ID and time of acquisition of each image
figure
FrameRate = 1;
set(gcf,'units','centimeters');
set(gcf,'position',[10 10 30 30]);
axes1 = axes('position', [.05, .05, .9 , .9])
while hasFrame(v)
vFrames1 = readFrame(v);
imgNb = v.CurrentTime+1; % Nb of image displayed. +1 becaue CurrentTime starts couting at 0
image(vFrames1, 'Parent', axes1);
text(.5, 10, t.LANDSAT_SCENE_ID(imgNb), 'fontsize' , 14, 'Color' , 'w', 'Parent' , axes1);
text(200, 10, t.DATE_ACQUIRED(imgNb), 'fontsize' , 14, 'Color' , 'w', 'Parent' , axes1);
axes1.Visible = 'off';
pause(1/FrameRate);
end
0 个评论
采纳的回答
Dave Behera
2016-8-23
The writevideo function can be used to write videos from an array to video file (.avi format supported). See this link:
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!