应用OpenCV在VC++下实现视频图像的目标检测

应用OpenCV在VC++下实现视频图像的目标检测

ID:38743195

大小:55.50 KB

页数:5页

时间:2019-06-18

应用OpenCV在VC++下实现视频图像的目标检测_第1页
应用OpenCV在VC++下实现视频图像的目标检测_第2页
应用OpenCV在VC++下实现视频图像的目标检测_第3页
应用OpenCV在VC++下实现视频图像的目标检测_第4页
应用OpenCV在VC++下实现视频图像的目标检测_第5页
资源描述:

《应用OpenCV在VC++下实现视频图像的目标检测》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、应用OpenCV在VC++下实现视频图像的目标检测摘要本文先介绍实现视频图像目标检测的几种算法,然后介绍一种开放源代码的计算机视觉类库OpenCV,主要阐述该类库的特点及其结构,最后通过“检测一个视频中的运动物体”这一实例探讨了使用OpenCV进行编程的方法。关键词图像处理目标检测OpenCVIplImageVC++1.目标检测目标检测(objectdetection)是将运动的物体从背景中检测出来,人们希望设计能适用于各种监控环境,不受光照、天气等外界因素影响的目标检测算法。但这种算法难免复杂度大,现有一些算法大多是针对某一类问题提出的,主要包括背景减法、相邻帧差法和光流法等。1

2、.1背景减法背景减法(backgroundsubtraction)是目前运动目标检测的主流方法,其基本思想是将当前每一帧图像与事先存储或实时获取的背景图像相减,计算出与背景偏离超过一定阈值的区域作为运动区域。该算法实现简单,相减结果直接给出目标的位置、大小、形状等信息,能够提供关于运动目标区域的完整描述,特别是对于摄像机静止的情况,背景减法是实现运动目标实时检测和提取的首选方法。背景减法实现的关键是背景模型的获取和更新。背景获取算法通常要求在场景中存在运动目标的情况下获取背景图像,更新过程使背景能够适应场景的各种变化和干扰,如外界光线的改变,背景中对象的扰动和固定对象的移动,阴影的

3、影响等。一种典型的背景建模方法是用混合高斯模型描述背景图像像素值的分布,目标检测过程中判断图像的当前像素值是否符合该分布,若是被判为前景点,否则为背景点。同时根据新获取的图像,对背景图像参数进行自适应更新。该方法能够可靠处理光照变化、背景混乱运动的干扰以及长时间的场景变化等。在此基础上,对背景、静止目标和运动目标三者采取不同的更新策略,以减弱背景更新过程中运动目标对背景的影响。1.2相邻帧差法相邻帧差法(temporaldifferencing)利用序列中连续两帧或几帧图像间的差异进行目标的检测和提取。由于相邻帧的时间间隔一般较短,因此算法对场景中的动态变化不太敏感,具有较强的自适

4、应性。但该方法一般不能完全提取出所有相关的特征像素点,在运动实体内容易产生空洞现象。累积图像差分法进一步计算一阶和二阶差分图像,利用时间序列图像的历史积累信息,能够适应低对比度有噪时间序列,判断复杂情况下目标运动的多种状态。以上两种目标检测方法适用于背景固定不变的情形,对于背景发生运动的情况,需要提前对由摄像机引起的背景移动进行补偿。1.3光流法光流法(opticalflow)是通过研究图像序列的光流场实现运动目标检测的一种方法。光流场是空间运动物体被观测表面上的像素点运动产生的瞬时速度场,它包含了物体编码结构和动态行为的重要信息。光流法实际上是通过光流场近似计算图像序列中不能直接

5、得到的运动场,根据运动场的特征对目标进行检测。2.OpenCV简介开放源代码的计算机视觉类库OpenCV(IntelOpenSourceComputerVisionLibrary)由英特尔公司开发.它是一套可免费获得的由一些C函数和C++类所组成的库,用来实现一些常用的图像处理及计算机视觉算法。OpenCV主要用于对图像进行一些高级处理,比如说特征检测与跟踪、运动分析、目标分割与识别以及3D重建等。它有以下特点;开放C源码,基于Intel处理器指令集开发的优化代码,统一的结构和功能定义,强大的图像和矩阵运算能力,方便灵活的用户接口,同时支持WINDOWS、LINUX平台等。2.1O

6、penVC的数据结构基础的数据类型包括:CvPoint基于二维整形坐标轴的点.CvSize矩形框大小。CvRect矩形框的偏移和大小,以像素为精度,CvMat多通道矩阵等。在此仅介绍图像类的Ipllmage数据结构。typedefstruet_IpUmage{intnSize;*Ipllmage大小*intID;*版本=0*imnChannels;*大多数OPENCV函数支持1,2,3或4个通道*intalphaChannel;*被OpenCV忽略*intdepth;*像素的位深度*,charcolorModel;*被OpenCV忽略*charchannel

7、Seq;*同上*intdataOrder;*0—交叉存取颜色通道1—分开的颜色通道*intorigin;*0—顶-左结构,1—底-左结构(Windowsbitmap风格*intalign;*图像行排列(4or8)。OpenCV忽略它,使用widthStep代替*intwidth;*图像宽像素数*intheight;*图像高像素数*struet_IplROI*roi;*图像感兴趣区域*struet_IplImagemaskROI;*在Ope

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。