OPENCV的运动目标检测毕业论文_第1页
OPENCV的运动目标检测毕业论文_第2页
OPENCV的运动目标检测毕业论文_第3页
OPENCV的运动目标检测毕业论文_第4页
OPENCV的运动目标检测毕业论文_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

枣庄学院成人高等教育本科毕业论文(设计)OPENCV的运动目标检测姓名孙启水学号0810010008专业物理指导教师张裕仕教学地点枣庄学院继续教育学院2010年07月02日枣庄学院本科论文设计_2枣庄学院成人高等教育本科毕业论文(设计)开题报告姓名孙启水学号0810010008专业物理指导教师张裕仕职称副教授论文(设计)题目OPENCV的运动目标检测选题依据和意义本文旨在利用现有的理论、算法和工具,以工程应用为目的,基OPENCV这个开放的计算机视觉程序库,研究如何从序列图像中检测。研究的基本内容及解决的主要问题1OPENCV是INTER开源计算机视觉库。它由一系列C函数和少量C类构成,实现了图像处理和计算机视觉方面的很多通用算法。2利用现有的理论、算法和工具,以工程应用为目的,基OPENCV这个开放的计算机视觉程序库,研究如何从序列图像中检测。研究的进度、步骤2010年2月3日2010年3月2日查找文献资料,完成外文资料的翻译,认真阅读分析资料,并撰写开题报告2010年3月3日2010年3月8日整体方案设计,提出设计思路,完成具体结构设计2010年3月9日2010年5月15日总结经验,找出不足之处,提出改进方案,完成毕业论文2010年5月16日2010年6月24日打印、出图、装订,指导教师审阅,学生修改毕业设计,准备答辩研究的方法及措施利用软件进行相应的编辑主要参考文献【1】高守传,姚领田等VISUALC料数字图像处理与工程应用篇M北京中国铁道出版社2006,1【2】陈兵旗,孙明使用数字图像处理与分析【M】中国农业大学出版社,清华大学出版社2008,2【3】王亮,胡卫明,谭铁牛人运动的视觉分析综述J1计算机学报2O0231一16【4】朱仲杰蒋刚毅目标基视频编码中的运动目标提取与跟踪新算法JL电子学报2003,991408一1426【5】张益贞,刘滔VISUALC实现MPEG/JPEG编解码技术M北京人民邮电出版社,2002【6】陈胜勇,刘勇基于OPENCV的计算机视觉技术实现8江涛,谢旭红,翁海珊复摆颚式破碎机动颚有限元优化设计J煤矿机械,2007,2821113枣庄学院本科论文设计_3指导教师意见指导教师(签名)年月日毕业论文(设计)领导小组意见组长(签名)年月日枣庄学院本科论文设计_4OPENCV的运动目标检测摘要OPENCVOPENSOURCECOMPUTERVISIONLIBRARY是一种用于数字图像处理和计算机视觉的函数库,由INTEL微处理器研究实验室INTELSMICROPROCESSORRESEARCHLAB的视觉交互组THEVISUALINTERAETIVITYGROUP开发。采用的开发语言是C,可以在WINDOW系统及LINUX系统下使用,该函数库是开放源代码的,能够从INTEL公司的网站免费下载得到。OPENCV提供了针对各种形式的图像和视频源文件如BITMAP图像,VIDEO文件和实时摄像机的帧提取函数和很多标准的图像处理算法,这些函数都可以直接用在具体的视频程序开发项目中。针对在背景中检测出运动目标并实施警戒等特定提示,本文利用OPENCV的运动物体检测的数据结构、函数以及基本框架,建立了一个由人机交互界面模式。实施对物体的检测。该方面在安防方面已经很受重视。相信在不久的将来将会成为一种监督秩序的方式。关键词视频,运动目标检测,帧差分枣庄学院本科论文设计_5ABSTRACTOPENCVISAFUNCTIONLIBRARYFORDIGITALIMAGEPROCESSINGANDCOMPUTERVISION,DEVELOPEDBYINTELSMICROPROCESSORRESEARCHLABANDTHEVISUALINTERAETIVITYGROUPUSEDINTHEDEVELOPMENTOFLANGUAGEISC,ITCANBEUSEDINTHEWINDOWSYSTEMANDTHELINUXSYSTEM,THELIBRARYISOPENSOURCE,ITSFORFREEDOWNLOADFROMTHEINTELWEBSITEOPENCVPROVIDEFORVARIOUSFORMSOFIMAGEANDVIDEOSOURCEFILESEGBITMAPIMAGES,VIDCODOCUMENTSANDREALTIMECAMERAFRAMEEXTRACTIONFUNCTIONANDALOTOFSTANDARDIMAGEPROCESSINGALGORITHMSTHESEFUNCTIONSCANBEDIRECTLYUSEDFORSPECIFICDEVELOPMENTPROJECTSINVIDEOFORINTHEBACKGROUNDTODETECTMOVINGTARGETSANDIMPLEMENTATIONOFSECURITYINASPECIFICTIPSTHISARTICLEMADEUSEOFTHEMOVINGOBJECTDETECTIONOPENCVDATA,FUNCTIONANDFUNCTIONOFTHEBASICFRAMEWORKSTRUCTURETOESTABLISHAMODELOFHUMANCOMPUTERINTERACTIONINTERFACE,TOIMPLEMENTOFOBJECTDETECTIONTHESECURITYASPECTHASBEENVERYPOPULARINTHEIMPORTANCEIBELIEVEINTHENEARFUTUREITWILLBECOMEAWAYOFSUPERVISIONORDERKEYWORDSVIDEO,MOVINGTARGETDETECTION,FRAMEDIFFERENCE枣庄学院本科论文设计_6目录引言8一绪论8OPENCV简介8二OPENCV的编程环境1021OPENCV环境介绍10211OPENCV的安装10212配置WINDOWS环境变量1222配置VISUALC6014项目设置14三视频处理1531用HIGHGUI对视频进行读写处理15311获取摄像头,显示图像1532对AVI文件的处理16四OPENCV的体系结构1741OPENCV中的常用数据结构体系1742OPENCV中常用类体系1843OPENCV常用的函数18枣庄学院本科论文设计_7五运动目标检测2151运动目标检测的基本方法2152本文的检测算法2253开运算和闭运算2354程序运行演示24结论25致谢词26参考文献27枣庄学院本科论文设计_8引言计算机视觉和数字图像处理技术可以广泛地应用于工业、医疗保健、航空航天、军事等各领域,其中针对视频连续图像中运动物体的分析是其中应用前景最为广泛的一个方向,在机器人导航、智能视觉监控系统、医学图像分析、工业检测、视频图像分析以及军事雷达视频信号的处理上都有占有重要地位。其中基于视频图像的运动目标分析也是计算机视觉和数字图像处理技术最为复杂的一个方向。它是一个庞大的工程,既要对视频信号进行采集,又要对采集的图像进行处理,还要针对具体的应用编写程序进行开发。对于要完成某项应用的工程人员来说,如果所有底层的算法都要自己编码实现,所有的图像处理函数都要从头编写,既造成时间和精力上的浪费,又难以保证稳定性、实用性和通用性。视频序列图像运动目标分析的基本内容是从连续的视频序列图像中提出运动目标,同时对提取出的运动目标进行识别和跟踪,并对其行为进行解和描述。运动检测、目标识别和跟踪属于低层次的处理,属于图像处理范畴图像分析和理解属于高层次的处理,属于人工智能的范畴。视频图像的运动分析以数字图像处理为基础,内容涉及数字图像处理、模式别、计算机视觉、人工智能等诸多领域和学科。同时,目前开发视频序列像运动目标分析系统不但在实时性、鲁棒性上有很高的要求,也逐步重视通用性和可移植性。这些都给视频运动分析带来了挑战。本文旨在利用现有的理论、算法和工具,以工程应用为目的,基OPENCV这个开放的计算机视觉程序库,研究如何从序列图像中检测。一绪论OPENCV简介OPENCV是INTER开源计算机视觉库。它由一系列C函数和少量C类构成,实现了图像处理和计算机视觉方面的很多通用算法。其重要重要特性包括拥有包括300多个C函数的跨平台的中、高层API。它不依赖于其它的外部库尽管也可以使用某些外部库。对非商业应用和商业应用都是免费FREE的。为INTELINTERGRATEDPERFOMANCEPRIMITIVESIPP提供了透明接口。这意味着如果有为特定处理器优化的的IPP库,OPENCV将在运行时自动加载这些库。在过去的十年,随着处理器速度和内存容量以摩尔定律增长,计算机视觉的研究和应用也得到了迅速的发展。以往传统的开发方法要求工程人员在完成的硬件设计的同时,自己编码实现所有底层的算法,所有的图像处理函数都要从头编写,既造成时间和精力上的浪费,又难以保证稳定性、实用性和通用性,越来越难以满足现实的需求。为了解决理论到应用的难题,出现了众多的计算机视觉和图像处理软件包。大多数软件包是用枣庄学院本科论文设计_9C/C编写的。例如,TARGETJR及其后续版本VXLTHEVISIONSOMETHINGLIBRARISE就是这样一个C库的集合,在满足的小型、快速和稳固的系统的开发要求的同时提供了多平台移植性。GANDALF提供了计算机视觉和数值计算库,适合于可移植平台的视觉应用软件的开发。DELFT科学图像处理库DIPLIB是另一个科学图像处理C程序库包含了许多图像数据多维分析和处理函数。同时许多商用图像处理和计算机视觉软件包也得到相应开发。MVTEC公司开发的HALCON是其中之一,它包含了C/C代码的图像处理库。LABVIEW在NL图像处理硬件的支持下能加速图像处理。由微软公司开发的SDK是一个底层的图像操作分析的C库。在MATLAB中的图像处理工具包以及在MATHEMATICA中的数字图像处理软件包都是较为强大的图像处理工具,同时这两个软件包兼有许多高级数学计算功能。由AURORA公司开发的LEADTOOLS是一套商用化计算机视觉包,它包括了图像处理服务器开发工具。允许用户创建各种基于网络的图像处理服务程序。这些软件包为计算机图像分析和机器视觉提供了极大的便利。但也存在不足之处大多数软件包没有高级数学计算函数。并且这些软件包都不包括如目标跟踪、摄像机标定、姿态识别、脸谱识别和三维重建等高层函数。MATLAB是功能较为强大的科学计算和分析平台,它提供了图像处理工具包,也提供了较为丰富的数学计算函数,但在MATLAB环境下的运行速度令人担忧。虽然MATLAB可以通过编译器将M文件转化为C代码。但是转换后的C代码的执行效率和可读性存在较大问题。除MATLAB和LEADTOOLS。大部分软件包不支持网络服务器结构的应用程序的开发MATLAB的网络接口机制较为复杂,且同样存在运行效率的问题。绝大多数软件包不支持可嵌人性。本文选取OPENCV进行视频序列图像运动分析,与上述软件包相比,OPENCV的优势在于纯C代码,源代码开放。开放源代码OPENSOURCE是信息技术界从20世纪80年代开始兴起的新名词。源代码是由软件命令电脑执行指定动作的程序语句,是一个软件的核心所在,最著名的开源软件当属芬兰人林努斯托尔瓦兹提出的LINUX。开源软件之所以能够风靡世界,首先是其开源的免费特性此外,由于有全球众多编程者的参与,开源软件一般具有简约精炼、资源占用少、功能集中和安全性好的优点。不同于以往各种由业余爱好者凭兴趣或是根据自己的项目要求而制作的源代码开发包,OPENCV是由INTEL资助的开源项目,其代码规范而且具备良好的后继开发和改进能力。丰富的函数功能,强大的图像和矩阵运算能力OPENCV提供了数组、序列、矩阵、树等基本结构,也包含了差分方程求解、傅立叶分析、积分运算、特殊函数等众多高级数学计算函数,以及各种图像处理操作和目标跟踪、摄像机校准、三维重建等高级视觉函数。平台无关性基于OPENCV开发的程序可以直接在WINDOWS、UNIX、LINUX、MACOSX、SOLARIS、HP等平台之间相互移植,无需对代码进行任何修改。程序运行的实时性完成调试的代码可以编译连接成二进制可执行文件。从而得到较快的运算速度,满足实时性运算的要求。方便灵活的用户接口。OPENCV作为一个开放的计算机视觉函数库在使用上必然没有MATLAB那样解释执行来得方便,而SOFTHITEGRATION将CH和OPENCV绑定起来推出的CHOPENEV,解决了这一使用上的瓶颈。CH本身是一种嵌入式跨平台的C/C一脚本解释器,有自己的外壳程序,可以应用于2D/3D绘图、数值计算、分布式网络运算。CHOPENCV具有以下特性1交互性如同MATLAB,CHOPENCV是交互式的。代码不需要编译就能解释执行。适合于快速建模和应用程序开发。同时为游动代码的计算机视觉提供了可能。枣庄学院本科论文设计_102强大的扩展功能通过CHSDK。可以使现在所有的C/C动态库、静态库和模块成为CH函数库的一部分因此CH函数库的扩充潜能几乎是无限的。先前提及的所有计算机视觉软件包都能成为CHOPENCV补充部分。3WEB实现性类似于ASP和JAVA服务程序。CH提供了CGI通用网关接口。为CHOPENCV提供了基于WEB的计算机视觉服务器的开发手段。4可嵌入性与C/C一编译器不同。CH能嵌在C/C应用程序和硬件的机器脚本中。它为用户减轻了开发维护应用程序庞大机器代码的沉重负担。统一的结构和功能定义,基于INTEL处理器指令集开发的优化代码。可见,作为一个基本的图像处理、计算机视觉和模式识别的开源项目OPENCV可以直接应用于很多领域,作为二次开发的理想工具。目前OPENCV的最新版本为10。二OPENCV的编程环境本章将介绍OPENCV环境及帮助工具的使用,说明VISUALC下的安装与配置,介绍基于OPENCV编程时常用的基本类和基本函数,初步了解OPENCV应用程序的开发过程,最后通过实例来说明如何在VISUALC集成环境下快速建立应用程序框架。21OPENCV环境介绍VISUALC是MICROSOFT公司开发的基于WINDOWS操作系统的编程工具。像其他的可视化开发环境一样,VC集程序的代码编辑、编译、链接和调试于一体,给编程人员提供了一个完整而又方便的开发环境,和许多有效的辅助开发工具。同时,因为VC是微软的产品,用它来编写WINDOWS程序有强大的程序接口和丰富的开发资源的支持,加之VC严谨的内存管理,在堆栈上良好的分配处理,生成代码的体积小,稳定性高的优点,VISUALC就成为目前主流开发工具。由于OPENCV的代码是用C和C所编写而且完全开放,因此可以在MICROSOFTVISUALSTUDIO环境下很方便地使用OPENCV所提供的库来进行图像处理。在介绍OPENCV编程环境之前,首先要来了解如何安装OPENCV和基本的编程软件,下面的说明假设已经安装完成MICROSOFTVISUALC60211OPENCV的安装从HTTP/WWWOPENCVORGCN下载OPENCV安装程序。假如要将OPENCV安装到CPROGRAMFILESOPENCV。(下面附图为OPENCV10RC1的安装界面,OPENCV10安装界面与此基本一致。)在安装时选择“将OPENCVBIN加入系统变量“(ADDOPENCVBINTOTHESYSTERMPATH)。枣庄学院本科论文设计_11枣庄学院本科论文设计_12212配置WINDOWS环境变量检查CPROGRAMFILESOPENCVBIN是否已经被加入到环境变量PATH,如果没有,请加入。加入后需要注销当前WINDOWS用户(或重启)后重新登陆才生效。可以在任务管理器里重启EXPLOREREXE枣庄学院本科论文设计_13枣庄学院本科论文设计_1422配置VISUALC60全局设置菜单TOOLSOPTIONSDIRECTORIES先设置LIB路径,选择LIBRARYFILES,在下方填入路径CPROGRAMFILESOPENCVLIB然后选择INCLUDEFILES,在下方填入路径CPROGRAMFILESOPENCVCXCOREINCLUDECPROGRAMFILESOPENCVCVINCLUDECPROGRAMFILESOPENCVCVAUXINCLUDECPROGRAMFILESOPENCVMLINCLUDECPROGRAMFILESOPENCVOTHERLIBSHIGHGUICPROGRAMFILESOPENCVOTHERLIBSCVCAMINCLUDE然后选择SOURCEFILES,在下方填入路径CPROGRAMFILESOPENCVCVSRCCPROGRAMFILESOPENCVCXCORESRCCPROGRAMFILESOPENCVCVAUXSRCCPROGRAMFILESOPENCVOTHERLIBSHIGHGUICPROGRAMFILESOPENCVOTHERLIBSCVCAMSRCWINDOWS最后点击“OK”,完成设置。项目设置每创建一个将要使用OPENCV的VCPROJECT,都需要给它指定需要的LIB。菜单PROJECTSETTINGS,然后将SETTINGFOR选为ALLCONFIGURATIONS,然后选择右边的LINK标签,在OBJECT/LIBRARYMODULES附加上CXCORELIBCVLIBMLLIBCVAUXLIBHIGHGUILIBCVCAMLIB如果你不需要这么多LIB,你可以只添枣庄学院本科论文设计_15加你需要的LIB。三视频处理在OPENCV的CVCAM库中封装了很多针对视频流的处理函数。本章主要介绍使用HIGHGUI对视屏进行读写处理以及使用CVCAM对摄像头和视频流进行处理。使用CVCAM库时,要设置预编译的头文件目录OPENCVOTHERLIBSCVCAMINCLUDE,并在工程设置加入链接库CVCAMLIB31用HIGHGUI对视频进行读写处理311获取摄像头,显示图像在获取摄像头之前先来熟悉以下OPENCV中视频获取的数据结构的管理方式。1CVCAPTURE视频获取结构说明OPENCV中的视频获取结构。结构CVCAPTURE没有公共接口,他只能被用来作视频获取函数中使用的一个参数。2CVCREATEFILECAPTURE初始化文件中获取视频语法CVCAPTURECVCREATEFILECAPTURE(CONSTCHARFILENAME);参数类型说明FILENAMECONSTCHAR使用视频文件名说明该函数给指定文件的视频流分配和初始化CVCAPTURE。返回值分配的CVCAPTURE3CVCAPTUREFROMCAM从摄像头中获取视频语法CVCAPTURECVCAPTUREFROMCAMINTINDEX枣庄学院本科论文设计_16参数类型说明INDEXINTINDEX指的是摄像头的索引,当只有一个摄像头时,INDEX设为14CVQUERYFRAME从摄像头或者文件中抓取并返回一帧语法IPLIMAGECVQUERYFRAMECVCAPTURECAPTURE参数类型说明CAPTURECVCAPTURE视频获取结构说明函数CVQUERYFRAME从摄像头或者文件中抓取一帧,然后解压并返回这一帧。返回的图像不可以被用户释放或者修改。返回值获取的IPLIMAGE指针32对AVI文件的处理对AVI文件中的视频进行处理,可用如下程序。获得图像的效果如图。INCLUDEINCLUDEINTMAININTARGC,CHARARGV/声明IPLIMAGE指针IPLIMAGEPFRAMENULLCVCAPTUREPCAPTURENULL/创建窗口CVNAMEDWINDOW“VIDEO“,1/使窗口有序排列CVMOVEWINDOW“VIDEO“,30,0IFARGC2FPRINTFSTDERR,“USAGEBKGRDVIDEO_FILE_NAMEN“RETURN1/打开摄像头IFARGC1IFPCAPTURECVCAPTUREFROMCAM1FPRINTFSTDERR,“CANNOTOPENCAMERAN“RETURN2/打开视频文件IFARGC2IFPCAPTURECVCAPTUREFROMFILEARGV1FPRINTFSTDERR,“CANNOTOPENVIDEOFILESN“,ARGV1RETURN2枣庄学院本科论文设计_17/逐帧读取视频WHILEPFRAMECVQUERYFRAMEPCAPTURE/显示图像CVSHOWIMAGE“VIDEO“,PFRAME/如果有按键事件,则跳出循环/此等待也为CVSHOWIMAGE函数提供时间完成显示/等待时间可以根据CPU速度调整IFCVWAITKEY20BREAK/销毁窗口CVDESTROYWINDOW“VIDEO“CVRELEASECAPTURERETURN0获得的图像四OPENCV的体系结构OPENCV本身就具有简单方便的特点,其中的大部分类和库函数在实际应用中都有着特定的背景和现实意义,因此整个库的体系结构显得十分简单明了。41OPENCV中的常用数据结构体系OPENCV设计了一些基础的数据类型和一些帮助数据类型,在运用OPENCV函数库进行编程的过程中,常常会需要用到这些结构类型,只有正真了解这些结构才能够很好地利用OPENCV函数库来解决问题。基础的数据类型包括图像类的IPLIMAGE,矩阵类的CVMAT,可变集合类的CVSEQ、CVSET、CVGRAPH以及用于多维柱状图的混合类CVHISTOGRAM。帮助数据类型包括用于表示二维点坐标的CVPOINT,用于表示图像宽和高的CVSIZE,用于表示迭代过程结束条件的枣庄学院本科论文设计_18CVTERMCRITERIA,用于表示图像转换内核的IPLCONVKERNEL和用于表示空间力矩的CVMOMENTS。下面对CVSIZE和和IPLIMAGE两个比较常用的简单结构进行介绍。1CVSIZE结构CVSIZE结构用来表示矩形尺寸的结构,结构体中分别定义了矩形的宽高和高度,定义如下TYPEDEFSTRUCTCVSIZEINTWIDTH;/矩形宽度,单位为像素/INTHEIGHT;/矩形高度,单位为像素/CVSIZE;2IPLMAGE结构通常情况下,使用DIB格式来处理图像,而OPENCV库则是使用“IPLIMAGE”结构体来创造和处理图像。由于OPENCV主要针对的是计算机视觉方面的处理,因此在函数库中,最重要的结构体就是IPLIMAGE结构。IPLIMAGE结构来源于INTER的另外一个函数库IPL,该函数库主要是针对图像处理。使用这种格式的优点是可以比DIB格式表示更多的图像性质,而且可以很方便地存取图像中的像素值,IPLIMAGE结构的具体定义如下TYPEDEFSTRUCTIPLIMAGEINTNSIZE/IPLIMAGE大小/INTID/版本(0)/INTNCHANNELS/大多数OPENCV函数支持14个信道/INTDEPTH/像素的位深度/INTDATAORDER/0交叉存取颜色信道。1分开的颜色信道。只有CVCREATEIMAGE可以创建交叉存取图像/INTORIGIN/0顶左结构,1底左结构/INTWIDTH/图像宽像素/INTHEIGHET/图像高像素/STRUCT_IPLROIROI/图像感兴趣区域/INTIMAGESIZE/图像数据大小/INTWIDTHSTEP/排列的图像大小,以字节为单位/42OPENCV中常用类体系OPENCV10版本,包含以下五个部分1CXCORE一些基本函数(各种数据类型的基本类型的基本运算等)。2CV图像处理和计算机视觉功能(图像处理、结构分析、运动分析、物体跟踪、模式识别、摄像机定标)。(3)CVAUX一些实验性的函数。(4)HIGHGUI用户交互部分(GUI,图像视频I/O、系统调用函数)。(5)CVCAMLINUX版本中已经抛弃,WINDOWS版本中将DIRECTX支持加入HIGHGUI后,CVCAM将彻底去掉。43OPENCV常用的函数下面介绍一下OPENCV中常用的七个函数,下面就七个函数分别做说明。枣庄学院本科论文设计_191LOADIMAGE()图像载入函数语法IPLIMAGECVLOADIMAGE(CONSTCHARFILENAME,INTISCOLOR1);参数类型说明FILENAMECONSTCHAR待载入图像的名称,包括图像的扩展名ISCOLORINT辅助参数项,可选正数、负数、零。正数表示强制作为三通道(彩色)图像载入,零表示该图像作为单通道(灰度)图像,负数表示载入图像的通道数由图像文件自身决定。返回值IPLIMAGE结构指针2NAMEDWINDOW()窗口定义函数语法INTCVNAMEDWINDOW(CONSTCHARNAME,UNSIGNEDLONGFLAGS);参数类型说明NAMECONSTCHAR窗口名FLAGSUNSIGNEDLONG窗口属性指标值,可以选择CV_WINDOW_AUTOSIZE1和(0)两种值。CV_WINDOW_AUTOSIZE表示窗口尺寸与原始尺寸相同,0表示以固定的尺寸显示图像说明CVNAMEDWINDOW创建一个放置图像和RTACKBAR的窗口。被创建的窗口可以通过他们的名字被引用。如果已经存在这个名字的窗口,这个函数将不做任何事情。返回值无。3SHOWIMAGE()图像显示函数语法VOIDCVSHOWIMAGE(CONSTCHARNAME,CONSTCVARRIMAGE);参数类型说明NAMECONSTCHAR窗口名称MAGECONSTCVARR图枣庄学院本科论文设计_20像类型指针,一般是IPLIMAGE指针说明函数CVSHOWIMAGE是在指定的窗口中显示图像返回值无4WAITKEY()按钮等待函数语法INTCVWAITKEY(INTDELAY0)参数类型说明DELAYINT等待按键。如果DELAYORIGIN1PFRIMGORIGIN1在图像分割的诸多方法中,二值化技术是一种简单有效的方法。图像的二值化按下述公式进行1,0,KKGIJTKGIJTRXY式中,GX,Y是原图像中位于IJ处像素的灰度GBIJ是二值化后该处的像素值,它只能取O或L,将上式所得二值图像中数值为0的部分表示背景,数值为1的部分表示对象图形。T为用于二值化处理的阀值。二值化的过程本身比较简单,关键问题就是阀值的选取。在数字图像处理中,由于数学形态学算法有平滑轮廓、填充洞孔、连接断裂区域等特性,常常被用在各种图像分析的后处理操作中。数学形态学表示以形态为基础对图像进行分析的数学工具。它的基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的。其基本运算有4种,即膨胀、腐蚀、开运算和闭运算。形态学运算主要用于如下几个目的图像预处理去噪声、简化形状增强物体结构抽取骨骼、细化、粗化、凸包、物体标一记从背景中分割物体物体

温馨提示

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

评论

0/150

提交评论