(PS:几乎照搬的知乎一位大佬的,只是在此整理记录一下)
Matlab自身不支持直接读取摄像头数据,需要安装硬件支持包,目前常用的有两个包:
下载的是第二个,因为更通用
1)那么如何去下载这个硬件支持包呢?
2)查询当前PC上已经连接的摄像头信息:函数imaqhwinfo() -->命令行中输入:imaqhwinfo,记得回车。
3)查看摄像头设备具体参数:在代码脚本输入:win_info=imaqhwinfo(‘winvideo’),记得点击运行。 注意:该函数返回了连接在当前图像适配器
然后在命令行输入win_info以查看这个适配器的相关信息
4)查看摄像头的ID和具体参数:双击工作区的win_info
如果不方便,还可以命令行查看摄像头支持的格式:在脚本输入:win_info.DeviceInfo.SupportedFormats
5)创建视频输入对象-->video_obj=videoinput(adaptorname,deviceID,format),依然记得点击运行按钮,不然终端识别不到这个变量。
然后在命令行输入:video_obj = videoinput('winvideo',1)
该函数的三个参数说明如下:
Adaptorname;适配器名称(必需)
deviceID:设备ID号(必需)
Format:视频采集格式(不填写则使用默认)
6)预览视频对象:在命令行输入:preview(video_obj),该函数会自动打开一个窗口,播放摄像头画面
% 生成对象并同步画面
obj = videoinput('winvideo',1);
h = preview(obj);
figure
while ishandle(h)
frame = getsnapshot(obj); % 获取帧
% -----------此处可添加你需要的操作------------
imedge = rgb2gray(frame) %将彩图转换为灰度图
% -------------------------------------------
subplot(121),imshow(frame)
subplot(122),imshow(imedge)
drawnow
End
到这里就结束了!