读取usb摄像头的程序简介

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用MATLAB进行USB摄像头的编程

编程 2009-05-19 08:52:07 阅读475 评论0 字号:大中小订阅

在CSDN上看了一篇“如何使用MATLAB进行USB2.0摄像头的编程”的博文,感觉不错,现转摘如下:

整个过程我们需要做如下几件事情:

1、查询USB2.0Camera 的具体参数(imaqhwinfo)

2、创建视频输入对象(videoinput)

3、图像预览和显示(preview、stoppreview、closepreview和image)

4、获取视频图像(getsnapshot)

5、图像获取设备的获取和设置(get和set)

6、关闭视频对象(delete)

在正式讲解之前,我想说明下几个个在图像获取工具箱中的术语:

图像获取设备:比如摄像头、扫描仪

图像获取适配器:主要的目的是通过驱动在Matlab和图像获取设备之间传递信息

ROI:region-of-interest 感兴趣区域

在说说几个常用的函数,我们这里只是说明它的作用,具体如何使用参考帮助系统

getselectedsource

imaqfind

isvalid

peekdata

getdata

imaqmontage

给我们一个摄像头我们必须知道他的相关参数,才可能进行我们的编程下。当然我们可以查询商家手册,但是那个累不累人呀。

Matlab的图像获取工具箱为我提供了imaqhwinfo(),来获取PC上以安装的图像获取硬件信息

没有输入参数时,返回一个结构体,它包含了系统中存在的适配器和Matlab相关的版本信息(第一次我们一般使用这个)

代码:

>> info=imaqhwinfo

info =

InstalledAdaptors: {'coreco' 'winvideo'}%这里可以看到我的PC 上安装了两个适配器

MATLABVersion: '7.6 (R2008a)'

ToolboxName: 'Image Acquisition Toolbox'

ToolboxVersion: '3.1 (R2008a)'

有输入参数的时候,返回一个结构体,包含了指定的适配器的数据信息

代码:

>> win_info=imaqhwinfo('winvideo')%我们看看第二适配器的具体参数

win_info =

AdaptorDllName: [1x81 char]%适配器dll文件绝对路径

AdaptorDllVersion: '3.1 (R2008a)'%适配器dll文件版本

AdaptorName: 'winvideo'%s适配器名称

DeviceIDs: {[1]}%设备ID号,这个我们经常需要用到

DeviceInfo: [1x1 struct]%设备信息,这里主要是图像获取设备的一些参数,比较重要

%====================下面我们了解下,这个图像获取设备到底有哪些的详细信息吧====================

>> win_info.DeviceIDs

ans =

[1]

>> dev_win_info=win_info.DeviceInfo

dev_win_info =

DefaultFormat: 'RGB24_320x240'%获取图片的默认格式

DeviceFileSupported: 0

DeviceName: 'USB PC CAMERA P227'%设备名称

DeviceID: 1%设备号

ObjectConstructor: 'videoinput('winvideo', 1)'%对象构建方式,这个绝大部分都是一样的

SupportedFormats: {1x12 cell}%获取的图像支持格式,一般都有好多种,上面的DefaultFormat只是默认格式而已

%==================================看看图像获取设备支持的图像格式==================================

>> dev_win_info.SupportedFormats%可以看到我的PC上的摄像头支持下面12中图片格式

ans =

Columns 1 through 5

'I420_160x120' 'I420_176x144' 'I420_320x240' 'I420_3 52x288' 'I420_640x480'

Columns 6 through 9

'RGB24_1280x960' 'RGB24_160x120' 'RGB24_176x144' 'RG B24_320x240'

Columns 10 through 12

'RGB24_352x288' 'RGB24_640x480' 'RGB24_800x600'

视频预览、采集和保存

(1)创建视频输入对象

obj = videoinput(adaptorname,deviceID,format)

adaptorname:适配器名称,首次可以使用不带参数的imaqhwinfo函数获取

deviceID:设备ID号,首次可以通过imaqhwinfo函数获取

format:视频采集格式,可以通过DeviceInfo的SupportedFormats获取,不填写则使用默认格式

代码:

>> obj = videoinput('winvideo',1,'RGB24_320x240')%这里我们使用默认的视频采集格式

Summary of Video Input Object Using 'USB PC CAMERA P227'.

Acquisition Source(s): input1 is available.

Acquisition Parameters: 'input1' is the current selected source.

10 frames per trigger using the selected source.

'RGB24_320x240' video data to be logged upon START.

Grabbing first of every 1 frame(s).

Log data to 'memory' on trigger.

Trigger Parameters: 1 'immediate' trigger(s) on START.

Status: Waiting for START.

0 frames acquired since starting.

相关文档
最新文档