MATLAB中利用摄像头抓图进行编程

转自:http://www.ymlib.net/article/sort010/info-978.html

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

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

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

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

(4)       获取视频图像(getsnapshot)

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

(6)       关闭视频对象(delete)

 1、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.DeviceInfo

 

 视频预览、采集和保存

 (1)创建视频输入对象

obj = videoinput(adaptorname,deviceID,format)

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

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

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

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

 (2)打开视频预览窗口

himage=preview(obj,himage)

% obj:视频采集对象

% himage:视频预览窗口对应的句柄,也就是说在指定的句柄对象中预览视频,该参数可以空缺。至于预览窗口的关闭和停止可以使用colsepreview和stoppreview函数

vidRes = get(obj, 'VideoResolution');  % VideoResolution= [Width Height]

nBands = get(obj, 'NumberOfBands');

figure()  %指定预览窗体显示的figure

axes()   %指定预览窗口显示的坐标系

hImage = image( zeros(vidRes(2), vidRes(1), nBands) );

preview(obj, hImage);

 (3)图像捕捉、显示和保存

%frame是H×W×B的矩阵。H图像高度,由ROIPosition(region-of-interest)指定;w图像宽度,由ROIPosition指定;B索线个数,由NumberOfBands指定

frame = getsnapshot(obj);

imshow(frame); % image(frame)

imwrite(fame,'snap.jpg','jpg');

delete(obj)

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhengxiang/archive/2011/04/18/6331399.aspxMATLAB中利用摄像头抓图进行编程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值