首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Matlab中连续录制视频,在内存上限上保存/重新启动,在标志上结束

在Matlab中连续录制视频,在内存上限上保存/重新启动,在标志上结束
EN

Stack Overflow用户
提问于 2013-02-14 06:09:22
回答 1查看 2.6K关注 0票数 0

我想在Matlab中录制一个连续的视频,直到其他标志发生变化,允许matlab在视频采集过程中继续执行其他任务(如决定是否应设置标志)。因为这些记录可能持续3个小时以上,可能每小时关闭一次记录,写入文件video_1,然后记录另一个小时并转储到video_2,等等,只要标记未设置。但是,根据我在使用Matlab的图像处理工具箱时看到的情况,您必须指定要捕获的帧数,或者每个触发器的帧数等。我真的不太确定如何继续。

我有一些录制视频的简单代码是:

代码语言:javascript
复制
% 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,但是我想不出怎么让它持续下去。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2013-02-14 18:46:38

代码语言:javascript
复制
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 file

来源:How do I record video from a webcam in MATLAB?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14864151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档