MATLAB如何实现从摄像头读取和处理视频?

现在要处理摄像头拍摄到的视频,现有两个主要问题:
1.一边拍摄一边处理,而不是拍摄完成再处理,每秒从摄像头获取六帧用于处理。
2.由于算法速度不一定能做到刚好每秒六帧,根据拍摄内容不同处理速度有快有慢,也就是如果处理快了要等待拍摄,处理慢了也不能丢失未及时处理的帧。
求实现代码,读取视频后的处理可以用等待一段时间来模拟。

第1个回答  推荐于2017-11-24
给你一段代码,在这个基础上改造

%MATLAB调用摄像头显示,并做二值化处理
%函数videoinput第二个参数为摄像头编号,
%如果使用USB摄像头,一般为2,笔记本自带摄像头为1
clear all
clc
i=0;
obj=videoinput('winvideo',1);
% h1=preview(obj);
h2=figure(2); %新建显示图像figure,同时获取句柄
triggerconfig(obj,'manual');
start(obj);
while i<1000
frame=getsnapshot(obj); %捕获图像
%frame=ycbcr2rgb(frame); %转成彩色,这个frame就可以按照自己意愿处理了
frame=rgb2gray(frame);
tt=graythresh(frame);
image1=im2bw(frame,tt);
imshow(image1); %显示图像
drawnow; % 实时更新图像
i=i+1
end
delete(obj);

至于你的第二点要求,可以自己查查,应该有相应的控制帧率的代码本回答被网友采纳
第2个回答  2016-04-27
截图呗 每隔一定时间自动截图 或者手动截图http://www.ilovematlab.cn/forum.php?mod=viewthread&tid=21976下载去吧
相似回答