Matlab摄像头基本操作

上传人:m**** 文档编号:512886808 上传时间:2023-06-24 格式:DOC 页数:21 大小:78KB
返回 下载 相关 举报
Matlab摄像头基本操作_第1页
第1页 / 共21页
Matlab摄像头基本操作_第2页
第2页 / 共21页
Matlab摄像头基本操作_第3页
第3页 / 共21页
Matlab摄像头基本操作_第4页
第4页 / 共21页
Matlab摄像头基本操作_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《Matlab摄像头基本操作》由会员分享,可在线阅读,更多相关《Matlab摄像头基本操作(21页珍藏版)》请在金锄头文库上搜索。

1、Matlab摄像头基本操作分类:matlab(机器人视觉SLAM项目)2012-09-2609:48529人阅读评论(0)收藏举报matlabinputparametersimagevideopropertiesMatlab中的图像获取工具箱给我们提供了必要的函数,我们直接调用就可以了。在在这帖中我们主要就是简单的介绍如何使用该工具箱进行对USB2.0摄像头的编程废话不多说,我们开始言归正传了。但是一定记住你必须安装了PC摄像头才可以进行下面的东西,如果说首次安装摄像头最好重启下PC,否则可能出现没法识别摄像头。整个过程我们需要做如下几件事情:1、查询USB2.0Camera的具体参数(ima

2、qhwinfo)2、创建视频输入对象(videoinput)3、图像预览和显示(preview、stoppreview、closepreview和image)4、获取视频图像(getsnapshot)5、图像获取设备的获取和设置(get和set)6、关闭视频对象(delete)在正式讲解之前,我想说明下几个个在图像获取工具箱中的术语:图像获取设备:比如摄像头、扫描仪图像获取适配器:主要的目的是通过驱动在Matlab和图像获取设备之间传递信息ROI:region-of-interest感兴趣区域在说说几个常用的函数,我们这里只是说明它的作用,具体如何使用参考帮助系统getselectedsour

3、ceimaqfindisvalidpeekdatagetdataimaqmontage给我们一个摄像头我们必须知道他的相关参数,才可能进行我们的编程下。当然我们可以查询商家手册,但是那个累不累人呀。Matlab的图像获取工具箱为我提供了imaqhwinfo(),来获取PC上以安装的图像获取硬件信息没有输入参数时,返回一个结构体,它包含了系统中存在的适配器和Matlab相关的版本信息(第一次我们一般使用这个)代码:info=imaqhwinfoinfo=InstalledAdaptors:corecowinvideo%这里可以看至U我的PC上安装了两个适配器MATLABVersion:7.6(R

4、2008a)ToolboxName:ImageAcquisitionToolboxToolboxVersion:3.1(R2008a)有输入参数的时候,返回一个结构体,包含了指定的适配器的数据信息代码:win_info=imaqhwinfo(winvideo)%我们看看第二适配器的具体参数win_info=AdaptorDllName:1x81char%适配器dll文件绝对路径AdaptorDllVersion:3.1(R2008a)%适配器dll文件版本AdaptorName:winvideo%s适配器名称DeviceIDs:1%设备ID号,这个我们经常需要用至DeviceInfo:1x1s

5、truct%设备信息,这里主要是图像获取设备的一些参数,比较重要面我们了解下,这个图像获取设备到底有哪些的详细信息吧win_info.DeviceIDsans=1dev_win_info=win_info.DeviceInfodev_win_info=DefaultFormat:RGB24_320x240%获取图片的默认格式DeviceFileSupported:0DeviceName:USBPCCAMERAP227%设备名称DeviceID:1%设备号ObjectConstructor:videoinput(winvideo,1)%对象构建方式,这个绝大部分都是一样的SupportedFor

6、mats:1x12cell%获取的图像支持格式,一般都有好多种,上面的DefaultFormat只是默认格式而已看看图像获取设备支持的图像格式dev_win_info.SupportedFormats%可以看至U我的PC上的摄像头支持下面12中图片格式ans=Columns1through5I420_160x120I420_176x144I420_320x240I420_352x288I420_640x480Columns6through9RGB24_1280x960RGB24_160x120RGB24_176x144RGB24_320x240Columns10through12RGB24_3

7、52x288RGB24_640x480RGB24_800x600视频预览、采集和保存(1) 创建视频输入对象obj=videoinput(adaptorname,deviceID,format)adaptorname:适配器名称,首次可以使用不带参数的imaqhwinfo函数获取devicelD:设备ID号,首次可以通过imaqhwinfo函数获取format:视频采集格式,可以通过Deviceinfo的SupportedFormats获取,不填写则使用默认格式代码:obj=videoinput(winvideo,1,RGB24_320x240)%这里我们使用默认的视频采集格式Summaryo

8、fVideoInputObjectUsingUSBPCCAMERAP227.AcquisitionSource(s):input1isavailable.AcquisitionParameters:input1isthecurrentselectedsource.10framespertriggerusingtheselectedsource.RGB24_320x240videodatatobeloggeduponSTART.Grabbingfirstofevery1frame(s).Logdatatomemoryontrigger.TriggerParameters:1immediatetr

9、igger(s)onSTART.Status:WaitingforSTART.0framesacquiredsincestarting.0framesavailableforGETDATA.(2) 打开视频预览窗口himage=preview(obj,himage)obj:视频米集对象himage:视频预览窗口对应的句柄,也就是说在指定的句柄对象中预览视频,该参数可以空缺至于预览窗口的关闭和停止可以使用colsepreview和stoppreview函数代码:vidRes=get(obj,VideoResolution);nBands=get(obj,NumberOfBands);figure

10、()%指定预览窗体显示的figureaxes()%指定预览窗口显示的坐标系hImage=image(zeros(vidRes(2),vidRes(1),nBands);preview(obj,hImage);(3) 图像捕捉、显示和保存代码:%frame是HxWxB的矩阵。H图像高度,由ROIPosition指定;w图像宽度,由ROIPosition指定;B索线个数,由NumberOfBands扌旨定frame=getsnapshot(obj);imshow(frame);imwrite(fame,snap.jpg,jpg);实验步骤1、查询USB2.OCamera的具体参数输入imaqInf

11、o=imaqhwinfo返回信息InstalledAdaptors:winvideoMATLABVersion:7.1(R14SP3)ToolboxName:ImageAcquisitionToolboxToolboxVersion:1.9(R14SP3)输入imaqlnfo.InstalledAdaptors返回信息ans=winvideo输入winvideoinfo=imaqhwinfo(winvideo)返回信息winvideoinfo=AdaptorDllName:1x76charAdaptorDllVersion:1.9(R14SP3)AdaptorName:winvideoDevi

12、ceIDs:1DeviceInfo:1x1struct输入winvideoinfo.DeviceInfo返回信息ans=DefaultFormat:YUY2_160x120DeviceFileSupported:0DeviceName:USB视频设备DeviceID:1ObjectConstructor:videoinput(winvideo,1)SupportedFormats:1x5cell输入devicel=winvideoinfo.Devicelnfo(l)返回信息devicel=DefaultFormat:YUY2_l60xl20DeviceFileSupported:0Device

13、Name:USB视频设备DeviceID:lObjectConstructor:videoinput(winvideo,l)SupportedFormats:lx5cell输入devicel.DeviceName返回信息ans=USB视频设备输入devicel.DevicelD返回信息ans=1输入devicel.DefaultFormat返回信息ans=YUY2_160x120输入devicel.SupportedFormats返回信息Columns1through4YUY2_160x120YUY2_176x144YUY2_320x240YUY2_352x288Column5YUY2_640

14、x4802、最简单采集实验,输入如下代码,可以得到预览下的默认格式的摄像头捕捉窗口obj二videoinput(winvideo,l);preview(obj);3、输入如下代码vidobj=videoinput(winvideo,1,YUY2_640x480);sources=vidobj.Source;whossourcesset(vidobj,SelectedSourceName,input1);sourcesselectedsrc=getselectedsource(vidobj);get(selectedsrc);delete(vidobj);clearvidobj;返回信息NameSizeBytesClasssources1x1726videosourceobjectGrandtotalis30elementsusing726bytesDisplaySummaryforVideoSourceObject:Index:SourceName:Selected:1input1onGeneralSettings:Parent=1x1videoinputSelected=onSourceName=input1Tag=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号