前言:

Matlab 中设定图像采集的时候,是要提前知道相机的各个参数。

IAT工具提供了一个可视化的方法,协作从操作系统中获取相机的底层可操作的一些参数,从而,协作你进行创作。

本案在开发的时候,遇到了一个问题,如何在Matlab上用两个或者两个以上的相机。

本文详细论述了Matlab支持的图像采集相关的几个类型,同时结合工业相机大恒的应用,实现了多相机在图像处理中的使用。


1 用于图像和视频采集的应用程序

Image Acquisition Toolbox™ 包含一系列函数和模块,可将相机连接到 MATLAB® 和 Simulink®。它包含一个可让您交互式检测和配置硬件属性的 MATLAB 属性。您然后可以生成等效的 MATLAB 代码,以便在将来的会话中自动进行采集。该工具箱支持各种采集模式,如在环处理、硬件触发、后台采集以及跨多台设备同步采集。

Image Acquisition Toolbox 支持所有主要标准和硬件供应商,包括 USB3 Vision、GigE Vision® 和 GenICam™ GenTL。您可以连接到机器视觉相机和抓帧器,以及高端科学和工业设备。

在Windows上使用MATLAB Image Acquisition Toolbox | Lucid Vision Labs (thinklucid.cn)http://thinklucid.cn/3rd-party-software-guides/using-matlab-for-windows/

下图是IAT的执行结果,

这里,IAT识别到了大恒的工业相机。而且,IAT也支持对相机的一些基本操作,有意思的是,对图像的抓取,预览等动作,在下方的显示框里面会自动给出执行的代码和函数。这样,为后面程序的拓展提供了很好的指引。


2 多个工业相机的识别

2.1 Matlab里面常用的三种摄像头适配器简介:

在图像处理和机器视觉板块里面,

Image Acquisition Support Packages for Hardware Adaptors - MATLAB & Simulink - MathWorks 中国https://ww2.mathworks.cn/help/imaq/image-acquisition-support-packages-for-hardware-adaptors.html 

Image Acquisition Support Packages for Hardware Adaptors - MATLAB & Simulink - MathWorks 中国https://ww2.mathworks.cn/help/imaq/image-acquisition-support-packages-for-hardware-adaptors.html?searchHighlight=GenICam%20GenTL&s_tid=srchtitle_GenICam%20GenTL_4

主要有以下几个通用的相机协议和适配器,

Matlab里面获取图像的方式(adaptor 或者叫适配器)协议有很多。

例如,上述三种类型,分别对应,

'winvideo','gentl','webcam',等,

其中,这三个都是通用的相机驱动,不同的协议和adapter对应不同类型的相机。

笔记本里面的相机是webcam类型,

而大恒相机因为是工业相机他支持两种适配器和协议格式:'winvideo'和'gentl'

【添加的方法】

我们通过【附加功能】这个插件可以选择matlab第三方的适配器类配合相机。

Installing the Support Packages for Image Acquisition Toolbox Adaptors - MATLAB & Simulink - MathWorks 中国https://ww2.mathworks.cn/help/imaq/installing-the-support-packages-for-image-acquisition-toolbox-adaptors.html

GenTL Support from Image Acquisition Toolbox - Hardware Support - MATLAB & Simulink (mathworks.cn)https://ww2.mathworks.cn/hardware-support/gentl.html

MATLAB Support Package for USB Webcams - File Exchange - MATLAB Central (mathworks.cn)https://ww2.mathworks.cn/matlabcentral/fileexchange/45182-matlab-support-package-for-usb-webcams/?s_tid=ILM2FXsub

2.1 大恒多摄像头问题:

大恒相机USB3.0 在IAT中只能识别到一个相机。

此外,如果自己编写应用也只能识别到videoinput 1,其他都会报错。

【案,ImageAcquistionToolbox,实践,问题描述】,我在IAT中看到只能支持两个相机【包括笔记本的摄像头,而实际上,我连了3个大恒的工业相机,一个是网口,2个是USB3.0,加上我的笔记本的摄像头,应该是有4个相机,而通过IAT工具只能识别笔记本相机和另外一个大恒的工业相机。】


【Hence】如果我们看大恒自己的工具SDK Galaxy里面执行的结果,

我们连接了3个相机在电脑上, 如下图:

在大恒给出的SDK里面,我们可以看到三个相机的型号等信息。


3  【问题分析和解决】

大恒两个USB 3.0相机和一个网口相机,在windows里面的ID号码居然是一样,然后,windows的系统软件无法识别在名称上识别,这也许是matlab无法识别的原因。

这样,IAT只能识别出其中的一个,我们需要先检查一下:

Matlab的相机底层的驱动器,我们有没有安装,例如,上面提到的3个通用的模块

【实践里面,我们只安装了'winvideo','webusb',而没有'gentl',】

既然由于操作系统给出的,针对winvideo这个通用的适配器里面识别ID一致,那么就换一个方案。

如果我们用gentl 【协议 GenICam GenTL】,应该是可以支持多个相机的。这个我在协议 GenICam GenTL里面的一节博文再详细说明一下。

GenICam GenTL Hardware - MATLAB & Simulink - MathWorks 中国https://ww2.mathworks.cn/help/imaq/genicam-gentl-hardware.html?searchHighlight=GenICam%E2%84%A2&s_tid=srchtitle_GenICam%25E2%2584%25A2_1

Use Advanced Property Support in the GigE Vision and GenICam GenTL Interfaces - MATLAB & Simulink - MathWorks 中国https://ww2.mathworks.cn/help/imaq/use-advanced-property-support-in-the-gige-vision-and-genicam-gentl-interfaces.html GenTL Support from Image Acquisition Toolbox - Hardware Support - MATLAB & Simulink (mathworks.cn)https://ww2.mathworks.cn/hardware-support/gentl.html

这里我们只需要,安装

这个GenlCam这个适配器就可以。

【案,笔者在使用这个适配器的时候,】


【调试方法和命令】

1 imaqwinfo

Detect multiple USB cameras - (mathworks.cn)https://ww2.mathworks.cn/matlabcentral/answers/473947-detect-multiple-usb-cameras利用命令,【imaqwinfo】可以检查你配置的适配器的情况:

>> imaqhwinfoans = 包含以下字段的 struct:InstalledAdaptors: {'gentl'}MATLABVersion: '9.7 (R2019b)'ToolboxName: 'Image Acquisition Toolbox'ToolboxVersion: '6.1 (R2019b)'

这里我们看的,我们只装载了gentl这个适配器。

如果我们把返回结果给到一个变量,然后,查看这个变量,可以得到更详细的结果:

>> win_info = imaqhwinfo('gentl')win_info = 包含以下字段的 struct:AdaptorDllName: 'C:\ProgramData\MATLAB\SupportPackages\R2019b\toolbox\imaq\supportpackages\gentl\adaptor\win64\mwgentlimaq.dll'AdaptorDllVersion: '6.1 (R2019b)'AdaptorName: 'gentl'DeviceIDs: {[1]  [2]}DeviceInfo: [1×2 struct]

这里我们检测到了两个大恒的USB 3.0相机

2 imaqreset

imaqreset 会重新刷新Image Acquisition Toolbox


发现和matlab的版本有关系,如果采用2017的Matlab的版本是有问题的,即使使用GenlCam的协议,也无法识别相机。
【注意,是无法识别,而不是只识别一个】

MATLAB: Image acquisition toolbox support for Daheng Mercury USB3 cameras – iTecTechttps://itectec.com/matlab/matlab-image-acquisition-toolbox-support-for-daheng-mercury-usb3-cameras/

【案,和大恒技术工程师沟通的结果是,验证GenlCam的matlab版本是2016版本,所以,版本因素需要考虑】

通过更改使用的MATLAB的版本到2019,和最新的大恒的驱动程序,最后的实验结果是GenlCam的协议可以很好的支持多个大恒相机的使用。

【最后,贴一个成功的图证明不虚】


操作系统内置摄像头获取工具包:

Image Acquisition Toolbox Support Package for OS Generic Video Interface - File Exchange - MATLAB Centralhttps://ww2.mathworks.cn/matlabcentral/fileexchange/45183-image-acquisition-toolbox-support-package-for-os-generic-video-interface


参考

Image Acquisition Toolbox 产品信息 - MATLAB (mathworks.cn)https://ww2.mathworks.cn/products/image-acquisition.html#app-for-image-video

Getting Started with the Image Acquisition Tool - MATLAB & Simulink - MathWorks 中国https://ww2.mathworks.cn/help/imaq/getting-started-with-the-image-acquisition-tool.htmlMATLAB摄像头实时图像处理_HPC_ZY-CSDN博客_matlab摄像头之前由于双目测距的工作,用MATLAB获取摄像头数据并实时处理。现将一些基本操作分享给大家。欢迎交流https://blog.csdn.net/xsz591541060/article/details/89676780?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164043194416780274149250%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164043194416780274149250&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-4-89676780.pc_search_insert_es_download&utm_term=MATLAB%E6%91%84%E5%83%8F%E5%A4%B4%E5%AE%9E%E6%97%B6%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86&spm=1018.2226.3001.4187

Matlab无法识别USB相机的问题表征及解决方法 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/152171171

Matlab 图像采集工具的使用 - Image Acquisition Toolbox【IAT】 + 大恒相机的应用【1】+多个摄像头支持相关推荐

  1. 大恒相机标定with MATLAB

    相机参数 型号:Daheng MER-139-210U3C 标定步骤 固定相机位置,移动标定板,采集图片,大概100张左右. 示例图片: 打开MATLAB–Camera Calibrator 选择参数 ...

  2. 大恒相机图像采集 linux+python

    运行环境: Ubuntu18.04, 大恒相机python库,大恒相机linux驱动,python2.7 代码: import gxipy as gx from PIL import Image im ...

  3. 一款支持大恒相机、IDS相机、普通USB相机和机械手的标定工具

    最近做了一款相机的标定软件,可以用来标定本软件支持的相机和机械手坐标系的关系.目前软件支持的相机有大恒USB相机,IDS的uEye网口相机,普通的USB相机.其中镜面靶标其实就是一种特定规则形状的标定 ...

  4. matlab 图像采集,基于 Matlab 的深度图像采集与处理

    吴东艳,张凌志,冷爽,韩喜春 / 黑龙江工程学院 电气与信息工程学院摘 要:本文介绍了在 Matlab 开发环境中利用 Kinect 获取彩色图像和深度图像的具体操作步骤,以及利用 Kinect获取深 ...

  5. MATLAB 部署工具(Deployment Tool)的使用——MATLAB与C#混合编程

    MATLAB 部署工具(Deployment Tool)的使用 MATLAB与C#混合编程 对于许多开发者而言,借助MATLAB提供的丰富的矩阵运算,实现需求算法,相比于纯手工实现底层算法具有较高的效 ...

  6. matlab低通滤波器库函数代码_利用Matlab filterDesigner 工具生成FIR滤波器函数,并调用实现低通滤波...

    本文使用的开发环境为:Win10 Matlab2018a 版本. 在matlab命令窗口输入:filterDesigner命令,即可打开filterDesigner设计工具. 按照下图调整FIR低通滤 ...

  7. 《量化投资:以MATLAB为工具》连载(2)基础篇-N分钟学会MATLAB(中)

    http://www.matlabsky.com/thread-43937-1-1.html <量化投资:以MATLAB为工具>连载(3)基础篇-N分钟学会MATLAB(下) <量化 ...

  8. matlab如何用遗传算法,使用MATLAB遗传算法工具实例(详细).doc

    最新发布的MATLAB 7.0 Release 14已经包含了一个专门设计的遗传算法与直接搜索工具箱(Genetic Algorithm and Direct Search Toolbox,GADS) ...

  9. 《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)

    http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html <量化投资:以MATLAB为工具>连载(1)基础篇-N分钟学会MATLAB(上) ...

最新文章

  1. HarmonyOS 修改App的默认加载的界面
  2. SQL Server【四】
  3. linux的日记文件放哪,linux的日记文件在哪_网站服务器运转保护,linux
  4. C++面试题整理,希望对大家有所帮助
  5. Android自定义控件(状态提示图表,我先收藏为敬
  6. 奥克兰大学计算机it专业介绍,奥克兰大学IT硕士专业介绍
  7. ssm+boot+thymeleaf博客系统完成总结
  8. 使用 JW Player 播放RTMP 流
  9. java 远程文件操作_java远程文件操作 - osc_88djj30s的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. gets和puts函数
  11. C++程序的设计机制1:NVI机制(Non-Virtual Interface )
  12. 『python思考』关于列表的浅复制和深复制的理解
  13. x60可以升级鸿蒙,vivo X60性能大提速:8GB内存秒变11GB,支持20个App秒开
  14. 大数据、云计算、物联网相关技术概述——《大数据技术原理与应用》课程学习总结
  15. Win10删除微软拼音输入法的方法
  16. 可以设置时间的计时器
  17. 套接字中的数据转换(大端模式/小端模式)
  18. AI创业哪家强?6大选择给你方向!
  19. Computer Architectrure: Quantitative Approch 第三章第十三节
  20. U盘制作成系统盘后怎么恢复成原样?

热门文章

  1. java异常处理简介_【自学java】异常处理简介
  2. sqlserver空间数据 + c# 实现查询附近的设备
  3. 微信小程序入门三:轮播图
  4. 编程基础 垃圾回收_编程中的垃圾回收指南
  5. golang go语言_在Go语言中无需反思即可使用Lodash的好处
  6. rails db 查询优化_如何优化查询以解决Rails中常见的可伸缩性瓶颈
  7. 正则表达式匹配减号_THOR断点教程0910 网球规则1112 后附常用正则表达式数据...
  8. ubuntu16.04编译安装boost
  9. ubuntu安装c/c++编译环境
  10. python实用的几个脚本程序(自己在用)