我想在Matlab中录制一个连续的视频,直到其他标志发生变化,允许matlab在视频采集过程中继续执行其他任务(如决定是否应设置标志)。因为这些记录可能持续3个小时以上,可能每小时关闭一次记录,写入文件video_1,然后记录另一个小时并转储到video_2,等等,只要标记未设置。但是,根据我在使用Matlab的图像处理工具箱时看到的情况,您必须指定要捕获的帧数,或者每个触发器的帧数等。我真的不太确定如何继续。
我有一些录制视频的简单代码是:
% create video obj
video = videoinput('winvideo',1);
% create writer obj
writerObj = VideoWriter('output.avi');
% set video properties
video.LoggingMode = 'disk';
video.DiskLogger = writerObj;
% start recording video
start(video);
% wait
wait(video, inf)
% save video
close(video.DiskLogger);
delete(video);
clear video;然而,输出的视频只有.3秒长。我已经按照下面的教程把一个30秒的视频录制成了一个3秒的视频available here,但是我想不出怎么让它持续下去。
任何帮助都将不胜感激!
发布于 2013-02-14 18:46:38
aviObject = avifile('myVideo.avi'); % Create a new AVI file
for iFrame = 1:100 % Capture 100 frames
% ...
% You would capture a single image I from your webcam here
% ...
F = im2frame(I); % Convert I to a movie frame
aviObject = addframe(aviObject,F); % Add the frame to the AVI file
end
aviObject = close(aviObject); % Close the AVI filehttps://stackoverflow.com/questions/14864151
复制相似问题