第5章 足球机器人视觉课件_第1页
第5章 足球机器人视觉课件_第2页
第5章 足球机器人视觉课件_第3页
第5章 足球机器人视觉课件_第4页
第5章 足球机器人视觉课件_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章足球机器人的视觉刘钊第5章足球机器人视觉目录5.1概述5.2图像捕获与显示5.3边缘检测5.4颜色视觉第5章足球机器人视觉5.1概述视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断和军事等领域中各种智能或自主系统中不可分割的一部分。第5章足球机器人视觉第5章足球机器人视觉5.2图像捕获与显示常用两种方法来实现实时视频图像的捕获和显示:第一种方法是利用视频设备生产厂商提供的软件开发工具箱(SDK)来开发应用程序,包含的函数可以实现视频捕获、编辑等各种功能;第二种方法是使用提供VC++的函数库,开发基于的视VideoforWindows(VFW)Windows频捕获应用程序。第5章足球机器人视觉SDK发应用程序

(1)首先对PCImager驱动程序初始化。CMU1394_Init();//初始化CMU1394_SetBrightness();//设置亮度;CMU1394_SetContrast();//设置对比度;CMU1394_SetSaturation();//设置饱和度;CMU1394_SetHue();//设置灰度;CMU1394_SetVideoSource();//设置视频源;CMU1394_SetVideoFormat();//设置视频的格式;CMU1394_SetColorFormat();//设置图像格式,RGB24,RGB8,YUV411,YUV422等;CMU1394_SetColorKey();//设置色键;第5章足球机器人视觉(2)显示实时视频图像。GetClientRect(&Client);Client.SetRect(0,0,160,120);//设置显示视频图像客户区的大小CMU1394_PaintOverlay(&Client);//显示为Overlay模式第5章足球机器人视觉(3)保存单帧图像。CMU1394_CaptureFrame();//将捕获的帧保存到缓冲区里;CMU1394_SaveBMPFile();//将缓冲区里的帧图像保存成bmp文件;第5章足球机器人视觉VFW频捕获VFW是微软公司为开发的实时视频捕获、编辑和视频播放工具,主要包括vfw.h文件和vfw32.lib函数库。VFW使用的是和视频设备驱动程序直接通信的方式,这种方式在计算机中为视频硬件提供与设备无关的接口函数,程序员即使不用了解视频设备提供的软件开发工具箱也能开发出功能强大的视频应用程序。第5章足球机器人视觉(1)创建捕获窗体使用capCreateCaptureWindow函数来创建一个捕获窗体hWndC=capCreateCaptureWindow((LPSTR)"MyCaptureWindow",//如果是Pop-up窗口的窗口名称WS_CHILD|WS_VISIBLE,//窗口类型0,0,160,120,//窗口位置和尺寸(HWND)hwndParent,(int)nID/*childID*/);第5章足球机器人视觉(2)连接到一个捕获驱动器

通过捕获窗口的句柄hWndC连接到MSVIDEO驱动程序上:SendMessage(hWndC,WM_CAP_DRIVER_CONNECT,0,0L);//或者使用宏连接://fOK=capDriverConnect(hWndC,0);//关闭连接capDriverDisconnect(hWndC);第5章足球机器人视觉(3)获得安装的捕获驱动

使用capGetDriverDescription函数来获得系统已经安装的所有捕获驱动程序的名称和版本。charszDeviceName[80];charszDeviceVersion[80];for(wIndex=0;wIndex<10;wIndex++){if(capGetDriverDescription(wIndex,szDeviceName,sizeof(szDeviceName),szDeviceVersion,sizeof(szDeviceVersion)){……}}第5章足球机器人视觉(4)获得捕获驱动程序的性能参数WM_CAP_DRIVER_GET_CAPS消息可以返回捕获驱动程序以及其硬件的性能参数。这些信息存放在一个CAPDRIVERCAPS的数据结构中。当你的应用程序的捕获窗口连接到一个新的捕获驱动器后,都会刷新这个CAPDRIVERCAPS数据结构。使用capDriverGetCaps宏来获得捕获设备的性能参数:CAPDRIVERCAPSCapDrvCaps;SendMessage(hWndC,WM_CAP_DRIVER_GET_CAPS,sizeof(CAPDRIVERCAPS),(LONG)(LPVOID)&CapDrvCaps);第5章足球机器人视觉(5)获得捕获窗口状态(Status)下面例子使用SetWindowPos函数区设置捕获窗口的尺寸,这个尺寸的大小是基于输入的视频流大小的。输入视频流的尺寸大小由capGetStatus宏来获得,获得信息放在一个CAPSTATUS的数据结构体中。CAPSTATUSCapStatus;capGetStatus(hWndC,&CapStatus,sizeof(CAPSTATUS));SetWindowPos(hWndC,NULL,0,0,CapStatus.uiImageWidth,CapStatus.uiImageHeight,SWP_NOZORDER|SWP_NOMOVE);第5章足球机器人视觉(6)显示对话框,设置视频属性下面的例子示范如何通过对话框来控制数字视频的特性和捕获处理。在显示每个对话框前,该例会调用capDriverGetCaps宏并且检查返回的CAPDRIVERCAPS对象来查看是否可以能够显示特定的对话框。CAPDRIVERCAPSCapDrvCaps;capDriverGetCaps(hWndC,&CapDrvCaps,sizeof(CAPDRIVERCAPS));//视频源对话框if(CapDriverCaps.fHasDlgVideoSource)capDlgVideoSource(hWndC);//视频格式对话框if(CapDriverCaps.fHasDlgVideoFormat){capDlgVideoFormat(hWndC);capGetStatus(hWndC,&CapStatus,sizeof(CAPSTATUS));//如果有,发送通知给父窗口,告诉它尺寸改变了}//视频显示对话框if(CapDriverCaps.fHasDlgVideoDisplay)capDlgVideoDisplay(hWndC);第5章足球机器人视觉(7)获得和设定视频格式BITMAPINFO数据结构体可以实现长度可调节地去适应标准压缩的数据格式。因为它的长度可以变,所以在每次获得当前视频格式前,都必须去查询这个结构的长度以及分配的内存大小。该例子使用了capGetVideoFormatSize宏去获得缓存区大小,使用capGetVideoFormat宏区获得当前视频格式。LPBITMAPINFOlpbi;DWORDdwSize;dwSize=capGetVideoFormatSize(hWndC);lpbi=GlobalAllocPtr(GHND,dwSize);capGetVideoFormat(hWndC,lpbi,dwSize);//访问视频格式,并且释放分配的内存。第5章足球机器人视觉(8)显示视频下面使用capPreviewRate宏来设置预览模式的帧频率

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论