1、安装适配器

(1)如果没有安装适配器,那么在命令行输入 ‘imaqhwinfo’ ,将会报错,然后直接点击错误中的链接,去下载一个适配器,这个过程需要注册一个Matlab账号。

(2)安装成功之后在命令行输入:

obj = imaqhwinfo

会得到一个结构体,是适配器的相关信息,比如我的就为:

obj = 包含以下字段的 struct:InstalledAdaptors: {'winvideo'}MATLABVersion: '9.6 (R2019a)'ToolboxName: 'Image Acquisition Toolbox'ToolboxVersion: '6.0 (R2019a)'

可以看到,我的适配器名称为’winvideo’。

(3)命令行输入:

obj = imaqhwinfo('winvideo')

同样可以得到一个结构体:

obj = 包含以下字段的 struct:AdaptorDllName: 'C:\ProgramData\MATLAB\SupportPackages\R2019a\toolbox\imaq\supportpackages\genericvideo\adaptor\win64\mwwinvideoimaq.dll'AdaptorDllVersion: '6.0 (R2019a)'AdaptorName: 'winvideo'DeviceIDs: {[1]  [2]  [3]}DeviceInfo: [1×3 struct]

可以看到,DeviceIDs 有3个,这是因为我插了两个USB摄像头,同时还有笔记本自带的摄像头。Matlab给这三个摄像头分别分配一个ID,以此来进行区分。

2、单摄像头的调用

Matlab中调用摄像头实际上很简单,利用 ‘Image Acquisition Toolbox’ 即可。
(1)创建 videoinput 对象,函数句法为:
obj = videoinput(adaptorname,deviceID,format)
这里我采用 ‘winvideo’ 适配器,同时从 DeviceID = 1 的设备,以默认格式获取数据。

obj = videoinput('winvideo',1);

(2)进行视频的预览:

obj = videoinput('winvideo',1);
preview(obj);

可以直接从窗口中看到实时视频:

(3)图片的保存

obj = videoinput('winvideo',1);
preview(obj);
pause(0.1);%如果不延迟的话,拍出来的照片有点糊,因为相机还没对焦好,可以根据个人情况选择。
im = getsnapshot(obj);%抓取obj对象当前的一帧。
imwrite(im,'Photo.jpg');%将图片保存在当前文件夹里。
delete(obj);%程序任务完成后删除对象,释放空间。

(4)视频的保存

obj = videoinput('winvideo',1);
set(obj,'TriggerRepeat',Inf);%捕获次数设为无穷大,表示一直重复捕获,直到出现错误或内存不够。
set(obj,'FramesPerTrigger',1);%每次捕获放进缓冲区的帧数。
preview(obj);%打开视频预览窗口,在窗口中可以看到视频的FPS,即Frames Per Second
writerObj = VideoWriter( ['test.avi'] );%将视频保存在当前文件夹下
writerObj.FrameRate = 15;%这个帧数要自己设置为和FPS保持一致,这决定了写视频文件的时候,每一秒有多少帧图片。如果这个值设置的和FPS不匹配,那么最终保存的视频会类似于开了倍速一样。
open(writerObj);%打开对象之后才能往进写数据帧。
start(obj)%obj对象开始捕获for i = 1:150 %将捕获的前150帧保存为视频,根据上面FrameRate可以算出,视频长为10秒。frame = getdata(obj);writeVideo(writerObj,frame);end
close(writerObj);%关闭对象,即完成视频的保存。
delete(obj);

3、两个摄像头同时调用

将单个摄像头的代码中的对象分别设置两个即可。

Matlab2019a实现两个USB摄像头的调用及视频的保存相关推荐

  1. 使用v4l2音、视频协议实现USB摄像头的图像、视频YUV格式采集功能(ubuntu16.04LTS)

    第一感觉是首先得了解v4l2协议,它的功能.以及与之对应的实现逻辑,还有与硬件.操作系统的交互等内容.再试着根据功能逻辑和软硬件交互关系,借助硬件设备,实现基础的功能,如查询设备信息.帧类型等.然后, ...

  2. 游戏陪玩app源码开发中,摄像头的调用及视频处理

    摄像头是游戏陪玩app源码进行视频连麦时的重要移动设备之一,在开发时,我们需要实现游戏陪玩app源码对摄像头的调用权限,这就涉及到相关接口的开发了,不过今天我们主要来了解一下在游戏陪玩app源码开发中 ...

  3. AG9310MEQ AG9310MFQ 安格两款USB TYPEC转HDMI音视频数据转换功能芯片参数差异与设计电路参考

    AG9310MEQ AG9310MFQ 安格两款USB  TYPEC转HDMI音视频数据转换功能芯片参数差异与设计电路参考 AG9310系列都是用于设计全功能USB TYPEC转HDMI音视频数据转换 ...

  4. 【树莓派Zero入门】-第三章:USB摄像头的使用(也可以双摄像头拍照,插两个USB摄像头就好了)

    1.把摄像头的USB口接到树莓派的任意一个USB口后再开机.一定要先接摄像头再开机,不然树莓派无法识别. 2.树莓派终端可以用于检测外部摄像头设备的命令有两种,分别是:"lsusb" ...

  5. linux下uvc协议访问usb摄像头,Ubuntu调用USB摄像头

    FreeBSD Webcam:传送门 1 查看摄像头USB驱动 CMD ls /dev/v* Result /dev/vcs /dev/vcs4 /dev/vcsa1 /dev/vcsa5 /dev/ ...

  6. 两个usb摄像头通过hub连接电脑怎么同时独立显示_把电脑装进口袋是什么感觉?华硕VivoStick TS10多角度体验...

    自英特尔提出Compute Stick"计算棒"概念后,可谓开创了一个新的电脑形态.它仅比口红略大的身材,在连接显示器等外设之后,"计算棒"就能为用户带来完整的 ...

  7. OpenCV4每日一练day7:视频加载、摄像头调用、视频文件保存

    一.视频加载(读取)/摄像头调用使用的是同一个函数:VideoCapture( ) get函数使用,如video.get(CAP_PROP_FOURCC) 视频实时显示与播放:video>> ...

  8. 同时读取两个USB摄像头采集

    1.  OpenCV:VideoCapture同时打开两个摄像头 #include <opencv2/opencv.hpp> #include<iostream>using n ...

  9. Linux: 两个USB摄像头的数据采集问题

    引子: 课题需要,同时采集两个摄像头数据,频率不高,但要同时.中间遇到的问题,唉一言难尽啊! 为了图省事使用UVC摄像头,但是板子是USB1.1接口的,故挑选兼容USB1.1的UVC驱动的摄像头,最终 ...

最新文章

  1. 手机客户端和web端开发的异同
  2. R语言描述性统计分析:相关性分析
  3. jvm性能调优 - 07线上应用部署JVM实战_栈内存与永久代预估与设置
  4. tensorflow tf.name_scope() 命名空间(用于规定对象和操作属于哪个区域)
  5. java map赋值给model_Map,Model,ModelMap使用方法
  6. python实现链表反转_反转链表(Python)
  7. 前端制作动画的几种方式(css3,js)
  8. KVC在定义Model类中的妙用
  9. python:DataFrame对单列或多列进行整列的运算(map, apply, transform, agg)
  10. echarts 地图增加背景图
  11. Subversion vs Subclipse
  12. 不同的国际学校课程毕业后可申请什么学校
  13. php中switch使用
  14. 反函数的导数 基本初等函数的求导公式
  15. zoj 1101 Gamblers 为什么总是WA?
  16. firefox 无法启动
  17. wordpress插件_2020年5个最佳WordPress电子商务插件比较
  18. 阿里云云计算ACP学习---汇总
  19. 华为虚拟服务器密码忘记怎么办,手机云服务器密码忘记了
  20. 海康威视秋招正式开始,快来和我做同事~

热门文章

  1. Android系统恢复出厂设置方法-涵盖5.1 6.0 7.0 7.1 8.0 9.0
  2. 去年卖出4000万台后,荣耀发布了搭载麒麟650的畅玩5C
  3. 我们减肥的秘诀竟然是吃!
  4. java 存储表情_java emoji表情存储解决方案
  5. 学习c++的第一天,如有不妥之处请见谅
  6. 带有酒店评论的情绪分析 - 处理数据
  7. yolov3检测和平精英视频中人物及物体【附源码+数据】
  8. 详解-程序是如何访问数据库的?
  9. 关于CPU的核心和线程与进程的不同
  10. Select查询语句整理