从三个摄像头录制视频和应用程序设计师
11视图(30天)
显示旧的评论
你好,
再次发布更多的标签。
我想创建一个简单的MatLab应用程序使用应用程序设计师。我有三个USB摄像头(叫蚂蚁,职位和地中海)插入我的笔记本电脑有1080 x1920的决议。目标是按记录按钮5秒的视频记录同时从每个相机至少25 fps。
我已发布应用程序,按记录按钮的回调代码如下:
我发现视频记录并保存到当前文件夹,然而,视频的播放速度和持续时间是变量,通常不是5秒。
有时MatLab崩溃和发送一个错误消息,没有足够的物理内存。我的笔记本电脑有16 gb的RAM,然而,在matlab开放以及运行应用程序并使用很多。
我已经试了包装的应用程序是一个独立的. exe使用更少的内存,然而,这似乎并不奏效。这是因为没有MatLab开放,这个应用程序没有一个文件夹来存储输出视频?如果是这样,我怎么能告诉一个独立的应用程序将文件保存到一个特定的文件夹吗?我要添加一个浏览文件夹箱子吗?
的代码是不正确的?我需要设置每个视频对象的各个属性?或一个循环可以用来使代码更简洁吗?
感谢任何帮助。
多谢。
应用程序是这样的:
我的代码的属性和记录按钮回调是:推
属性(访问=私人)
AntCam = videoinput (“winvideo”2);%的描述
PostCam = videoinput (“winvideo”3);%的描述
MedCam = videoinput (“winvideo”4);%的描述
文件名;
日期;
样本;
结束
%按钮推功能:RECORDButton
函数RECORDButtonPushed(应用程序、事件)
% %设置属性为Videoinput AntCam
app.AntCam。超时=正;
app.AntCam。FrameGrabInterval = 1;
app.AntCam。LoggingMode =磁盘和内存的;
app.AntCam。FramesPerTrigger = 1;
app.AntCam。TriggerRepeat =正;
app.AntCam。TimerPeriod = 5;
% %设置属性为Videoinput PostCam
app.PostCam。超时=正;
app.PostCam。FrameGrabInterval = 1;
app.PostCam。LoggingMode =磁盘和内存的;
app.PostCam。FramesPerTrigger = 1;
app.PostCam。TriggerRepeat =正;
app.PostCam。TimerPeriod = 5;
% %设置属性为Videoinput MedCam
app.MedCam。超时=正;
app.MedCam。FrameGrabInterval = 1;
app.MedCam。LoggingMode =磁盘和内存的;
app.MedCam。FramesPerTrigger = 1;
app.MedCam。TriggerRepeat =正;
app.MedCam。TimerPeriod = 5;
% %构造VideoWriter对象并设置磁盘日志属性
vidWriterAnt = VideoWriter(([应用程序。日期、app.Sample app.Filename,“蚁族”]),mpeg - 4的);
vidWriterPost = VideoWriter(([应用程序。日期、app.Sample app.Filename,“职位”]),mpeg - 4的);
vidWriterMed = VideoWriter(([应用程序。日期、app.Sample app.Filename,“地中海”]),mpeg - 4的);
vidWriterAnt。质量= 50;
vidWriterAnt。帧速率= 25;
app.AntCam。DiskLogger = vidWriterAnt;
vidWriterPost。质量= 50;
vidWriterPost。帧速率= 25;
app.PostCam。DiskLogger = vidWriterPost;
vidWriterMed。质量= 50;
vidWriterMed。帧速率= 25;
app.MedCam。DiskLogger = vidWriterMed;
开始(app.AntCam);
开始(app.PostCam);
开始(app.MedCam);
app.AntCam。TimerFcn = {“停止”};
app.PostCam。TimerFcn = {“停止”};
app.MedCam。TimerFcn = {“停止”};
清晰的app.AntCam
清晰的app.PostCam
清晰的app.MedCam
结束