版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、枣 庄 学 院成人高等教育本科毕业论文(设计)opencvopencv 的运动目标检测的运动目标检测姓名:姓名: 孙孙启水启水 学号:学号: 0810010008 专业专业: : 物理物理 指指导导教教师师: :张张裕仕裕仕 教学地点:教学地点:枣枣庄学院庄学院 继续继续教育学院教育学院2010 年年 07 月月 02 日日 枣庄学院本科论文设计_2枣庄学院枣庄学院成人高等教育本科毕业论文(设计)开题报告成人高等教育本科毕业论文(设计)开题报告姓名孙启水学号0810010008专业物理指导教师张裕仕职称 副教授论文(设计)题目opencv 的运动目标检测选题依据和意义 本文旨在利用现有的理论、
2、算法和工具,以工程应用为目的,基 opencv 这个开放的计算机视觉程序库,研究如何从序列图像中检测。研究的基本内容及解决的主要问题1 opencv 是 inter 开源计算机视觉库。它由一系列 c 函数和少量 c+类构成,实现了图像处理和计算机视觉方面的很多通用算法。2 利用现有的理论、算法和工具,以工程应用为目的,基 opencv 这个开放的计算机视觉程序库,研究如何从序列图像中检测。研究的进度、步骤2010 年 2 月 3 日- 2010 年 3 月 2 日 查找文献资料,完成外文资料的翻译, 认真阅读分析资料,并撰写开题报告2010 年 3 月 3 日 - 2010 年 3 月 8 日
3、 整体方案设计,提出设计思路, 完成具体结构设计2010 年 3 月 9 日 - 2010 年 5 月 15 日 总结经验,找出不足之处,提出改进方案, 完成毕业论文2010 年 5 月 16 日 - 2010 年 6 月 24 日 打印、出图、装订,指导教师审阅,学生修改毕业设计,准备答辩研究的方法及措施利用软件进行相应的编辑主要参考文献【1】高守传,姚领田等.Visualc料数字图像处理与工程应用篇M.北京:中国 铁道出版社.2006,1 【2】陈兵旗,孙明.使用数字图像处理与分析【M】.中国农业大学出版社,清华大 学出版社.2008,2 【3】王亮,胡卫明,谭铁牛.人运动的视觉分析综述J
4、1.计算机学报.2o02(3):1一16 【4】朱仲杰蒋刚毅.目标基视频编码中的运动目标提取与跟踪新算法Jl.电子 学报.2003,9(9):1408一1426. 【5】张益贞,刘滔.Visualc+实现MPEG/JPEG编解码技术M.北京:人民邮电 出版社,2002 【6】陈胜勇, 刘勇基于 opencv 的计算机视觉技术实现8 江涛,谢旭红,翁海珊. 复枣庄学院本科论文设计_3摆颚式破碎机动颚有限元优化设计J . 煤矿机械,2007,28(2):11-13.指导教师意见 指导教师(签名): 年 月 日毕业论文(设计)领导小组意见 组长(签名): 年 月 日枣庄学院本科论文设计_4 open
5、cvopencv 的运动目标检测的运动目标检测摘要Opencv(Open Source Computer Vision Library)是一种用于数字图像处理和计算机视觉的函数库,由Intel微处理器研究实验室(Intels MicroprocessorResearch Lab)的视觉交互组(The Visual Interaetivity Group)开发。采用的开发语言是C+,可以在window:系统及Linux系统下使用,该函数库是开放源代码的,能够从Intel公司的网站免费下载得到。opencv提供了针对各种形式的图像和视频源文件(如:bitmap图像,video文件和实时摄像机)的帧
6、提取函数和很多标准的图像处理算法,这些函数都可以直接用在具体的视频程序开发项目中。 针对在背景中检测出运动目标并实施警戒等特定提示,本文利用opencv 的运动物体检测的数据结构、函数以及基本框架,建立了一个由人机交互界面模式。实施对物体的检测。该方面在安防方面已经很受重视。相信在不久的将来将会成为一种监督秩序的方式。关键词 视频,运动目标检测,帧差分枣庄学院本科论文设计_5AbstractAbstractOpencv is a function library for digital image processing and computer vision,developed by Inte
7、ls MicroprocessorResearch Lab and The Visual Interaetivity Group.Used in the development of language is C + +,It can be used in the Window system and the Linux system,The library is open source,Its for free download from the Intel Web site.Opencv provide for various forms of image and video source f
8、iles (eg: bitmap images, vidco documents and real-time camera) frame extraction function and a lot of standard image processing algorithms.These functions can be directly used for specific development projects in video. For in the background to detect moving targets and implementation of security in
9、 a specific tips.This article made use of the moving object detection opencv data , function and function of the basic frameworkstructure to establish a model of human-computer interaction interface,to implement of object detection.The security aspect has been very popular in the importance.I believ
10、e in the near future it will become a way of supervision order. KeywordsKeywords:Video, moving target detection, frame difference 枣庄学院本科论文设计_6目目 录录引言引言 . 8 8 一一 绪论绪论 . 8 8 OPENCVOPENCV简介简介 . 8 8 二二 OPENCVOPENCV的编程环境的编程环境 . 1010 2.12.1 OPENCVOPENCV 环境介绍环境介绍 . 10.1 OPENCVOPENCV的安装的安装 . 1010
11、.2配置配置WINDOWSWINDOWS环境变量环境变量 . 12122.22.2配置配置VISUALVISUAL C+C+ 6.06.0 .14.14 项目设置项目设置 .14.14三三 视频处理视频处理 . 15153.13.1 用用HIGHGUIHIGHGUI对视频进行读写处理对视频进行读写处理 . 1515 .1 获取摄像头,显示图像获取摄像头,显示图像. 1515 3.23.2 对对AVIAVI文件的处理文件的处理 . 1616四四 OPENCVOPENCV的体系结构的体系结构 . 1717 4.14.1 OPENCVOPENCV中的常用数据结构体系中
12、的常用数据结构体系. 1717 4.24.2 OPENCVOPENCV中常用类体系中常用类体系 .18.18 枣庄学院本科论文设计_74.34.3 OPENCVOPENCV常用的函数常用的函数 . 1818 五五 运动目标检测运动目标检测 . 2121 5.15.1 运动目标检测的基本方法运动目标检测的基本方法 . 2121 5.25.2 本文的检测算法本文的检测算法 . 2222 5.35.3 开运算和闭运算开运算和闭运算 . 2323 5.45.4 程序运行演示程序运行演示 . 2424 结论结论 . 2525致谢词致谢词 . 2626 参考文献参考文献. 2727 枣庄学院本科论文设计_
13、8引 言计算机视觉和数字图像处理技术可以广泛地应用于工业、医疗保健、航空航天、军事等各领域,其中针对视频连续图像中运动物体的分析是其中应用前景最为广泛的一个方向,在机器人导航、智能视觉监控系统、医学图像分析、工业检测、视频图像分析以及军事雷达视频信号的处理上都有占有重要地位。 其中基于视频图像的运动目标分析也是计算机视觉和数字图像处理技术最为复杂的一个方向。它是一个庞大的工程,既要对视频信号进行采集,又要对采集的图像进行处理,还要针对具体的应用编写程序进行开发。对于要完成某项应用的工程人员来说,如果所有底层的算法都要自己编码实现,所有的图像处理函数都要从头编写,既造成时间和精力上的浪费,又难以
14、保证稳定性、实用性和通用性。 视频序列图像运动目标分析的基本内容是从连续的视频序列图像中提出运动目标,同时对提取出的运动目标进行识别和跟踪,并对其行为进行解和描述。运动检测、目标识别和跟踪属于低层次的处理,属于图像处理范畴;图像分析和理解属于高层次的处理,属于人工智能的范畴。视频图像的运动分析以数字图像处理为基础,内容涉及数字图像处理、模式别、计算机视觉、人工智能等诸多领域和学科。同时,目前开发视频序列像运动目标分析系统不但在实时性、鲁棒性上有很高的要求,也逐步重视通用性和可移植性。这些都给视频运动分析带来了挑战。 本文旨在利用现有的理论、算法和工具,以工程应用为目的,基 opencv 这个开
15、放的计算机视觉程序库,研究如何从序列图像中检测。一一 绪论绪论 Opencv 简介opencv是inter开源计算机视觉库。它由一系列c函数和少量c+类构成,实现了图像处理和计算机视觉方面的很多通用算法。 其重要重要特性包括: 拥有包括300多个C函数的跨平台的中、高层API。它不依赖于其它的外部库尽管也可以使用某些外部库。 对非商业应用和商业应用都是免费(FREE)的。 为Intel Intergrated Perfomance Primitives(IPP)提供了透明接口。这意味着如果有为特定处理器优化的的IPP库,OpenCv将在运行时自动加载这些库。 在过去的十年,随着处理器速度和内存
16、容量以摩尔定律增长,计算机视觉的研究和应用也得到了迅速的发展。以往传统的开发方法要求工程人员在完成的硬件设计的同时,自己编码实现所有底层的算法,所有的图像处理函数都要从头编写,既造成时间和精力上的浪费,又难以保证稳定性、实用性和通用性,越来越难以满足现实的需求。为了解决理论到应用的难题,出现了众多的计算机视觉和图像处理软件包。大多数软件包是用枣庄学院本科论文设计_9C/C+编写的。例如,TargetJr及其后续版本VXL(the Vision something LIbrarise)就是这样一个C+库的集合,在满足的小型、快速和稳固的系统的开发要求的同时提供了多平台移植性。Gandalf提供了
17、计算机视觉和数值计算库,适合于可移植平台的视觉应用软件的开发。Delft科学图像处理库DIPlib是另一个科学图像处理C程序库.包含了许多图像数据多维分析和处理函数。同时许多商用图像处理和计算机视觉软件包也得到相应开发。MVTec公司开发的HALCON是其中之一,它包含了C/C+代码的图像处理库。LabView在Nl图像处理硬件的支持下能加速图像处理。由微软公司开发的SDK是一个底层的图像操作分析的C+库。在Matlab中的图像处理工具包以及在Mathematica中的数字图像处理软件包都是较为强大的图像处理工具,同时这两个软件包兼有许多高级数学计算功能。由Aurora公司开发的LEADTOO
18、LS是一套商用化计算机视觉包,它包括了图像处理服务器开发工具。允许用户创建各种基于网络的图像处理服务程序。 这些软件包为计算机图像分析和机器视觉提供了极大的便利。但也存在不足之处: 大多数软件包没有高级数学计算函数。并且这些软件包都不包括如目标跟踪、摄像机标定、姿态识别、脸谱识别和三维重建等高层函数。 Matlab 是功能较为强大的科学计算和分析平台,它提供了图像处理工具包,也提供了较为丰富的数学计算函数,但在 Matlab 环境下的运行速度令人担忧。虽然 Matlab 可以通过编译器将 m 文件转化为 C 代码。但是转换后的 C 代码的执行效率和可读性存在较大问题。除Matlab和LEADT
19、OOLS。大部分软件包不支持网络服务器结构的应用程序的开发;Matlab的网络接口机制较为复杂,且同样存在运行效率的问题。绝大多数软件包不支持可嵌人性。 本文选取OpenCv进行视频序列图像运动分析,与上述软件包相比,openCv的优势在于: 纯c代码,源代码开放。开放源代码(open source)是信息技术界从20世纪80年代开始兴起的新名词。源代码是由软件命令电脑执行指定动作的程序语句,是一个软件的核心所在,最著名的开源软件当属芬兰人林努斯托尔瓦兹提出的Linux。开源软件之所以能够风靡世界,首先是其开源的免费特性;此外,由于有全球众多编程者的参与,开源软件一般具有简约精炼、资源占用少、
20、功能集中和安全性好的优点。不同于以往各种由业余爱好者凭兴趣或是根据自己的项目要求而制作的源代码开发包,OpenCV是由Intel资助的开源项目,其代码规范而且具备良好的后继开发和改进能力。 丰富的函数功能,强大的图像和矩阵运算能力:openCV提供了数组、序列、矩阵、树等基本结构,也包含了差分方程求解、傅立叶分析、积分运算、特殊函数等众多高级数学计算函数,以及各种图像处理操作和目标跟踪、摄像机校准、三维重建等高级视觉函数。 平台无关性:基于OpenCV开发的程序可以直接在Windows、Unix、Linux、MacOSX、solaris、HP等平台之间相互移植,无需对代码进行任何修改。 程序运
21、行的实时性:完成调试的代码可以编译连接成二进制可执行文件。从而得到较快的运算速度,满足实时性运算的要求。 方便灵活的用户接口。openCV作为一个开放的计算机视觉函数库在使用上必然没有Matlab那样解释执行来得方便,而softhitegration将cH和openCV绑定起来推出的CH openev,解决了这一使用上的瓶颈。CH本身是一种嵌入式跨平台的C/C一脚本解释器,有自己的外壳程序,可以应用于2D/3D绘图、数值计算、分布式网络运算。CH OpenCv具有以下特性: 1.交互性:如同Matlab,chOpencV是交互式的。代码不需要编译就能解释执行。适合枣庄学院本科论文设计_10于快
22、速建模和应用程序开发。同时为游动代码的计算机视觉提供了可能。 2.强大的扩展功能:通过Ch SDK。可以使现在所有的C/C+动态库、静态库和模块成为Ch函数库的一部分.因此Ch函数库的扩充潜能几乎是无限的。先前提及的所有计算机视觉软件包都能成为CH opencv补充部分。 3.Web实现性:类似于ASP和Java服务程序。Ch提供了CGI通用网关接口。为CH opencv提供了基于web的计算机视觉服务器的开发手段。 4.可嵌入性:与C/C一编译器不同。Ch能嵌在C/C+应用程序和硬件的机器脚本中。它为用户减轻了开发维护应用程序庞大机器代码的沉重负担。 统一的结构和功能定义,基于Intel处理
23、器指令集开发的优化代码。 可见,作为一个基本的图像处理、计算机视觉和模式识别的开源项目 OpenCv 可以直接应用于很多领域,作为二次开发的理想工具。目前 openCV 的最新版本为 1.0。二二 OpenCV 的编程环境的编程环境本章将介绍 OpenCV 环境及帮助工具的使用,说明 Visual C+下的安装与配置,介绍基于 OpenCV 编程时常用的基本类和基本函数,初步了解 OpenCV 应用程序的开发过程,最后通过实例来说明如何在 Visual C+集成环境下快速建立应用程序框架。2.1 OpenCV 环境介绍Visual C+是 Microsoft 公司开发的基于 windows 操
24、作系统的编程工具。像其他的可视化开发环境一样,VC+集程序的代码编辑、编译、链接和调试于一体,给编程人员提供了一个完整而又方便的开发环境,和许多有效的辅助开发工具。同时,因为VC+是微软的产品,用它来编写 windows 程序有强大的程序接口和丰富的开发资源的支持,加之 VC+严谨的内存管理,在堆栈上良好的分配处理,生成代码的体积小,稳定性高的优点,Visual C+就成为目前主流开发工具。由于 OpenCV 的代码是用 C 和C+所编写而且完全开放,因此可以在 Microsoft Visual Studio 环境下很方便地使用OpenCV 所提供的库来进行图像处理。在介绍 OpenCV 编程
25、环境之前,首先要来了解如何安装 OpenCV 和基本的编程软件,下面的说明假设已经安装完成 Microsoft Visual C+ 6.0. 2.1.1 OpenCV 的安装从 http:/ 下载 OpenCV 安装程序。假如要将 OpenCV 安装到C:Program FilesOpenCV。 (下面附图为 OpenCV 1.0rc1 的安装界面,OpenCV 1.0 安装界面与此基本一致。 )在安装时选择将OpenCVbin 加入系统变量(AddOpenCVbin to the systerm PATH) 。枣庄学院本科论文设计_11枣庄学院本科论文设计_122.1.2 配置 Window
26、s 环境变量检查 C:Program FilesOpenCVbin 是否已经被加入到环境变量 PATH,如果没有,请加入。加入后需要注销当前 Windows 用户(或重启)后重新登陆才生效。(可以在任务管理器里重启 explorer.exe)枣庄学院本科论文设计_13枣庄学院本科论文设计_142.2 配置 Visual C+ 6.0全局设置 菜单 Tools-Options-Directories:先设置 lib 路径,选择 Library files,在下方填入路径: C:Program FilesOpenCVlib 然后选择 include files,在下方填入路径: C:Program
27、 FilesOpenCVcxcoreinclude C:Program FilesOpenCVcvinclude C:Program FilesOpenCVcvauxinclude C:Program FilesOpenCVmlinclude C:Program FilesOpenCVotherlibshighgui C:Program FilesOpenCVotherlibscvcaminclude然后选择 source files,在下方填入路径:C:Program FilesOpenCVcvsrc C:Program FilesOpenCVcxcoresrc C:Program File
28、sOpenCVcvauxsrc C:Program FilesOpenCVotherlibshighgui C:Program FilesOpenCVotherlibscvcamsrcwindows 最后点击“ok” ,完成设置。项目设置每创建一个将要使用OpenCV的VC Project,都需要给它指定需要的lib。菜单:Project-Settings,然后将Setting for选为All Configurations,然后选择右边的link标签,在Object/library modules附加上 cxcore.lib cv.lib ml.lib cvaux.lib highgui.l
29、ib cvcam.lib如果你不需要这么多lib,你可以只添枣庄学院本科论文设计_15加你需要的lib。三三 视频处理视频处理在 OpenCV 的 CVcam 库中封装了很多针对视频流的处理函数。本章主要介绍使用HighGUI 对视屏进行读写处理以及使用 CvCam 对摄像头和视频流进行处理。使用CvCam 库时,要设置预编译的头文件目录*OpenCVotherlibscvcaminclude,并在工程设置加入链接库 cvcam.lib.3.1 用 HighGUI 对视频进行读写处理3.1.1 获取摄像头,显示图像在获取摄像头之前先来熟悉以下OpenCV中视频获取的数据结构的管理方式。 1.C
30、VCapture:视频获取结构 说明:OpenCV中的视频获取结构。结构CVCapture没有公共接口,他只能被用来作视频获取函数中使用的一个参数。 2.cvCreateFileCapture:初始化文件中获取视频 语法:CvCapture * cvCreateFileCapture(const char*filename) ; 参数 类型 说明 Filename const char* 使用视频文件名 说明:该函数给指定文件的视频流分配和初始化CvCapture。 返回值:分配的CvCapture 3.cvCaptureFromCAM:从摄像头中获取视频 语法:CvCapture * cvC
31、aptureFromCAM(int index) 枣庄学院本科论文设计_16参数 类型 说明 Index int index 指的是摄像头的索引,当只有 一个摄像头时,index设为-1 4.cvQueryFrame:从摄像头或者文件中抓取并返回一帧 语法: IplImage * cvQueryFrame(CvCapture * capture); 参数 类型 说明 Capture CvCapture * 视频获取结构 说明:函数cvQueryFrame从摄像头或者文件中抓取一帧,然后解压并返回这一帧。返回的图像不可以被用户释放或者修改。 返回值:获取的 IplImage 指针3.2 对 av
32、i 文件的处理对AVI文件中的视频进行处理,可用如下程序。获得图像的效果如图。#include #include int main( int argc, char* argv ) /声明IplImage指针 IplImage* pFrame = NULL; CvCapture* pCapture = NULL; /创建窗口 cvNamedWindow(video, 1); /使窗口有序排列 cvMoveWindow(video, 30, 0); if( argc 2 ) fprintf(stderr, Usage: bkgrd video_file_namen); return -1; /打开
33、摄像头 if (argc =1) if( !(pCapture = cvCaptureFromCAM(-1) fprintf(stderr, Can not open camera.n); return -2; /打开视频文件 if(argc = 2) if( !(pCapture = cvCaptureFromFile(argv1) fprintf(stderr, Can not open video file %sn, argv1); return -2; 枣庄学院本科论文设计_17/逐帧读取视频 while(pFrame = cvQueryFrame( pCapture ) /显示图像
34、cvShowImage(video, pFrame); /如果有按键事件,则跳出循环 /此等待也为cvShowImage函数提供时间完成显示 /等待时间可以根据CPU速度调整 if( cvWaitKey(2) = 0 ) break; /销毁窗口cvDestroyWindow(video); cvReleaseCapture(&pCapture); return 0; 获得的图像四四 Opencv 的体系结构的体系结构 OpenCV本身就具有简单方便的特点,其中的大部分类和库函数在实际应用中都有着特定的背景和现实意义,因此整个库的体系结构显得十分简单明了。 4.1 OpenCV 中的常用数据结
35、构体系 OpenCV设计了一些基础的数据类型和一些帮助数据类型,在运用Opencv函数库进行编程的过程中,常常会需要用到这些结构类型,只有正真了解这些结构才能够很好地利用opencv函数库来解决问题。 基础的数据类型包括:图像类的IplImage,矩阵类的CvMat,可变集合类的CvSeq、CvSet、 CvGraph以及用于多维柱状图的混合类CvHistogram。帮助数据类型包括:用于表示二维点坐标的CvPoint,用于表示图像宽和高的CvSize,用于表示迭代过程枣庄学院本科论文设计_18结束条件的CvTermCriteria,用于表示图像转换内核的IplConvKernel和用于表示空
36、间力矩的CvMoments。 下面对CvSize和和IplImage两个比较常用的简单结构进行介绍。 1. CvSize结构 CvSize结构用来表示矩形尺寸的结构,结构体中分别定义了矩形的宽高和高度, 定义如下: Typedef struct Cvsize int width; /*矩形宽度,单位为像素*/ int height; /*矩形高度,单位为像素*/ CvSize; 2. Iplmage 结构 通常情况下,使用DIB格式来处理图像,而Opencv库则是使用“IplImage”结构体来创造和处理图像。由于opencv主要针对的是计算机视觉方面的处理,因此在函数库中,最重要的结构体就是
37、IplImage结构。IplImage结构来源于inter的另外一个函数库IPL,该函数库主要是针对图像处理。使用这种格式的优点是可以比DIB格式表示更多的图像性质,而且可以很方便地存取图像中的像素值,IplImage结构的具体定义如下: Typedef struct IplImage int nSize; /*IplImage大小*/ int ID; /*版本(=0)*/ int nChannels; /*大多数opencv函数支持14个信道*/ int depth; /*像素的位深度*/ int dataOrder; /*0:交叉存取颜色信道。1: 分开的颜色信道。只有cvCreateIm
38、age可以创建交叉存取图像*/ int origin; /*0:顶左结构,1:底左结构*/ int width; /* 图像宽像素 */ int heighet; /*图像高像素*/ struct_IplROI *roi; /*图像感兴趣区域*/ int imageSize; /*图像数据大小*/ int widthStep; /*排列的图像大小,以字节为单位*/ 4.2 opencv 中常用类体系 Opencv1.0版本,包含以下五个部分. (1)CxCore:一些基本函数(各种数据类型的基本类型的基本运算等) 。 (2)CV:图像处理和计算机视觉功能(图像处理、结构分析、运动分析、物体跟踪
39、、模式识别、摄像机定标) 。 (3)CvAux:一些实验性的函数。 (4)HighGUI:用户交互部分(GUI,图像视频I/O、系统调用函数) 。 (5)CvCam:linux版本中已经抛弃,windows版本中将directx支持加入HighGUI后,CVCam将彻底去掉。 4.3 opencv 常用的函数 下面介绍一下opencv中常用的七个函数,下面就七个函数分别做说明。 枣庄学院本科论文设计_191. LoadImage(): 图像载入函数 语法:IplImage *cvLoadImage(const char* filename,int iscolor=1) ; 参数 类型 说明 F
40、ilename const char* 待载入图像的名称,包括图像的扩展名 Iscolor int 辅助参数项,可选正数、负数、零。正数表示强制作为三通道(彩色)图像载入,零表示该图像作为单通道(灰度)图像,负数表示载入图像的通道数由图像文件自身决定 。返回值:IplImage结构指针 2. NamedWindow():窗口定义函数 语法:int cvNamedWindow(const char* name,unsigned long flags) ; 参数 类型 说明 Name const char* 窗口名 Flags unsigned long 窗口属性指标值,可以选择CV_WINDOW
41、_AUTOSIZE (1)和(0)两种值。CV_WINDOW_AUTOSIZE表示窗口 尺寸与原始尺寸相同,0表示以固定的尺寸显示图像 说明:cvNamedWindow创建一个放置图像和rtackbar的窗口。被创建的窗口可以通过他们的名字被引用。如果已经存在这个名字的窗口,这个函数将不做任何事情。 返回值:无。 3ShowImage():图像显示函数 语法:void cvShowImage(const char* name,const CvArr *image) ; 参数 类型 说明 Name const char* 窗口名称 mage const CvArr 图枣庄学院本科论文设计_20像
42、类型指针,一般是iplimage指针说明:函数cvShowImage是在指定的窗口中显示图像 返回值:无 4WaitKey():按钮等待函数 语法:int cvWaitKey(int delay=0); 参数 类型 说明 Delay int 等待按键。如果delayorigin=1; pFrImg-origin=1; 在图像分割的诸多方法中,二值化技术是一种简单有效的方法。图像的二值化按下述公式进行: 1 ( , ) 0 ( , ) ( , ) kk G i j T k G i j T R x y 式中,G(x,y)是原图像中位于(ij)处像素的灰度;Gb(ij)是二值化后该处的像素值, 它只能取O 或l,将上式所得二值图像中数值为0 的部分表示背景,数值为1 的部分表示对象图形。T 为用于二值化处理的阀值。二值化的过程本身比较简单,关键问题就是阀值的选取。 在数字图像处理中,由于数学形态学算法有平滑轮廓、填充洞孔、连接断裂区域等特性,常常被用在各种图像分析的后处理操作中。数学形态学表示以形态为基础对图像进行分析的数学工具。它的基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的。其基本运算有4种,即膨胀、腐蚀、开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《诗词格律》教学设计高中语文文学中学生阅读指导目录(2020版)
- Unit 4 Travelling around:Lesson 4 (教学设计)北师大版(三起)(2024)英语三年级下册
- Unit 1 In China(Story time)(教学设计)人教新起点版英语二年级下册
- 【任务型】部编版语文二下1《古诗二首》教案
- 2026年西藏自治区公开遴选公务员考试(申论)练习试题及答案
- 2025-2026学年自动教案
- 紧急设备维修提醒函(4篇范文)
- 学礼明德塑品修心-小学主题班会课件的智慧策略
- 第八单元第3课时《复式折线统计图(试一试)》(教学设计)五年级下册数学北师大版
- 点火系统的诊断教学设计中职专业课-汽车发动机构造与维修-汽车运用与维修-交通运输大类
- 《TCW-32 ZK温控器使用说明书》
- 新生儿异常情况识别与处理
- 如何写好一份医学教案
- 食堂运营与管理计划
- 民营医院工资薪酬方案
- 2025年移动初级解决方案经理认证理论考试指导题库-下(多选、判断题)
- 2024年湖北水利发展集团有限公司招聘笔试冲刺题(带答案解析)
- (正式版)JBT 9229-2024 剪叉式升降工作平台
- 新药研发毒理学安全性评价
- 外科学教学课件:下肢骨关节损伤
- 2023年潍坊市初中学业水平考试地理试题附答案
评论
0/150
提交评论