MatLab从摄像头获取图片

(PS:几乎照搬的知乎一位大佬的,只是在此整理记录一下)

  1. 从从摄像头加载图片

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),该函数会自动打开一个窗口,播放摄像头画面

  1. 具体代码:

% 生成对象并同步画面

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

到这里就结束了!

猜你喜欢

转载自blog.csdn.net/qq_56919740/article/details/127591532