matlab调用摄像头每隔一段时间捕获一张照片并存储
2020-01-20 本文已影响0人
小小孩儿的碎碎念
matlab调用摄像头每隔一段时间捕获一张照片并存储
clear
vid=videoinput('macvideo'); %创建视频输入对象
preview(vid); %图像预览和显示
start(vid);
h=figure('NumberTitle','off','Name','视频',...
'MenuBar','none','color','c',...
'Position', [0, 0, 1, 1], 'Visible', 'on'); %新建窗口
set(h,'doublebuffer','on','outerposition',get(0,'screensize'));
h1=axes('Position', [0.02, 0.1, 0.4, 0.8],'Parent',h); %新建显示窗口
hold on;
for j=1:10 %判断是否有效的图像对象句柄
a=getsnapshot(vid); %捕获图像
flushdata(vid); %清除数据获取引擎的所有数据
b=ycbcr2rgb(a); %ycrcb格式转化为rgb格式
figure;imshow(b); %显示图片
A = getframe; % 获取矩阵
imwrite(A.cdata,strcat('/Users/zhangyuhao/Documents/MATLAB/picture/',num2str(j),'.jpg'));%保存路径'F:\matlab\work\picture\
pause(2); %延时
end
delete(vid);