您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 南京林业大学毕业设计开题报告题目基于OpenCV的树木视觉图像
南京林业大学毕业设计开题报告题目:基于OpenCV的树木视觉图像背景去除及测量姓名:崔薇学号:n070801205学院:南方学院专业:计算机科学与技术年级:2007级指导教师:云挺2011年1月10日毕业设计(论文)开题报告1.本课题的目的及研究意义随着图像处理的广泛应用与处理手段的不断改进,为了获得理想的树木视觉图像,我们通过OpenCV对树木自动判别检测对树干直径大小所遇到的关键问题,即去除纷乱背景进行研究和分析。通过色彩自动分割、图像形态学处理以及特征等一系列过程,在VC的环境下,利用OpenCV本身强大的函数库对树干的背景进行去除,实现了此方法具有积极的意义。由实验结果看出,该方法可以较为理想地获得树木视觉图像,既节省了预处理的时间,也保证了精度。同时经过理论研究结果表明,该算法具有分离效果好实用性强、检测速度快的特点。本文研究的要求就是通过OpenCV实现其相关功能,达到准确测量以及理想化分离的效果,同时并通过利用OpenCV编写的应用程序验证改方法的有效性和可行性。数字图像处理是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。此外,基于光学理论的处理方法依然占有重要的地位。数字图像处理是信号处理的子类,另外与计算机科学、人工智能等领域也有密切的关系。传统的一维信号处理的方法和概念很多仍然可以直接应用在图像处理上,比如降噪、量化等。然而,图像属于二维信号,和一维信号相比,它有自己特殊的一面,处理的方式和角度也有所不同。大多数用于一维信号处理的概念都有其在二维图像信号领域的延伸,它们中的一部分在二维情形下变得十分复杂。同时图像处理也具有自身一些新的概念,例如,连通性、旋转不变性,等等。这些概念仅对二维或更高维的情况下才有非平凡的意义。图像处理中常用到快速傅立叶变换,因为它可以减小数据处理量和处理时间。计算机视觉是将来自静止图像或视频的数据转换成一个决策或者一种新的表达方式的过程,所有的这些转换都是为了达到某个目标。因为人类是视觉动物,所以会误以为可以很容易地实现计算机视觉。当你凝视图像时,从中找到一辆汽车会很困难么?你凭直觉会觉得很容易。人脑将视觉信号划分入很多个通道,将各种不同的信息输入你的大脑。你的大脑有一个关注系统,会根据任务识别出图像的重要部分,并做重点分析,而其他部分则分析得较少。在人类视觉流中存在大量的反馈,但是目前我们对之了解甚少。肌肉控制的传感器以及其他所有传感器的输入信息之间存在广泛的关联,这使得大脑可以依赖从出生以来所学到的信息。大脑中的反馈在信息处理的各个阶段都存在,在传感器硬件(眼睛)中也存在。在眼睛中通过反馈来调节通过瞳孔的进光量,以及调节视网膜表面上的接受单元。在计算机视觉系统中,计算机接收到的是来自摄像机或者磁盘文件的一个数值矩阵。矩阵中的每个数值都有很大的噪声成分,所以它仅仅给出很少的信息,这个数值矩阵就是计算机“看”到的全部。我们的任务是将这个具有噪声成分的数值矩阵变成感知。实际上,计算机视觉问题比前面我们提到的更糟糕,它是不可解的。给出三维世界的二维视图,是没有固定方法来重建出三维信息的。在理论上,此类病态问题没有惟一和确定的解。即使数据很完美,同一张二维图像也可以表示多种三维场景。然而,如前面提到的,数据会被噪声和形变影响。这些影响来自真实世界的变化(天气、光线、反射、运动),镜头和机械结构的不完美,传感器上的长时间感应(运动模糊),传感器上和其他电子器件上的电子噪声,以及图像采集后的图像压缩引入的变化。设计实际系统时,为了克服视觉传感器的限制,我们可以使用机器学习技术对上下文信息进行显式建模。隐含的变量(例如物体大小、重力方向及其他变量)都可以通过标记好的训练数据里的数值来校正。或者,也可以通过其他的传感器来测量隐含的变量。使用激光扫描仪可以精确测量出一个物体的大小。计算机视觉面临的另一个难题是噪声问题。我们一般使用统计的方法来克服噪声。例如,一般来说不可能通过比较一个点和它紧密相邻的点来检测图像里的边缘。但是如果观察一个局部区域的统计特征,边缘检测会变得容易些。由局部区域卷积的响应连成的点串,构成边缘。另外可以通过时间维度上的统计来抑制噪声。还有一些其他的技术,可以从数据中学习显式模型,来解决噪声和畸变问题。例如镜头畸变,可以通过学习一个简单多项式模型的参数来描述这种畸变,然后可以几乎完全校正这种畸变。计算机视觉拟根据摄像机数据来采取行动或者做出决策,这样的行动或决策是在一个指特定目的或任务的环境中来解决。我们从图像去除噪声和损坏区域,可以让监控系统在有人爬过栅栏时给出报警,或者在一个游乐园里监控系统能够数出总共有多少人通过了某个区域。在办公室巡游的机器人的视觉软件所采用的方法与固定摄像机的不同,因为这两个系统有不同的应用环境和目标。通用的规律是:对计算机视觉应用环境的约束越多,则越能够使用这些约束来简化问题,从而使最终的解决方案越可靠。OpenCV的目标是为解决计算机视觉问题提供基本工具。在有些情况下,它提供的高层函数可以高效地解决计算机视觉中的一些很复杂的问题。当没有高层函数时,它提供的基本函数足够为大多数计算机视觉问题创建一个完整的解决方案。对于后者,有几个经过检验且可靠的使用OpenCV的方法;所有这些方法都是首先大量使用OpenCV函数来解决问题。一旦设计出解决方案的第一个版本,便会了解它的不足,然后可以使用自己的代码和知识来解决(更为广知的一点是“解决实际遇到的问题,而不是你想像出来的问题”)。你可以使用第一个版本的解决方案作为一个基准,用之评价解决方案的改进程度。解决方案所存在的不足可以通过系统所用的环境限制来解决。2.本课题的国内外的研究现状OpenCV的全称是:OpenSourceComputerVisionLibrary。它包含了Open和ComputerVision两个部分,Open是指OpenSource(开源,即开放源代码),ComputerVision则指计算机视觉。OpenCV于1999年由Intel建立,现在由WillowGarage提供支持。OpenCV是一个基于BSD许可证授权(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。开放源代码(OpenSource)是信息技术界从20世纪80年代开始兴起的名词。源代码是由软件命令电脑执行指定动作的程序语句,是一个软件的核心。开放源代码之所以能够风靡世界,首先是其开源的免费特性;此外由于有全球众多编程者的参与,开源软件一般具有简约精炼、资源占用少、功能集中和安全性好的特点。从长远来讲。开放源代码或许是一种效率最高、效果更好的软件商业模式。计算机视觉(ComputerVision)是在数字图像处理的基础上发展起来的新兴学科,它从信息处理的层次研究信息的认知过程,研究视觉信息处理的计算理论和表达与计算方法,包括图像特征提取,摄像机定标,立体视觉,运动视觉(或称序列图像分析),由图像灰度恢复三维物体形状的方法,物体建模与识别方法以及距离图像分析方法等方面组成。计算机视觉市场巨大而且持续增长,且这方面没有标准API,目前的计算机视觉软件大概有以下三种:1.研究代码(慢,不稳定,独立并与其他库不兼容)2.耗费很高的商业化工具(比如Halcon,MATLAB+Simulink)3.依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)这就是目前的现状。而标准的API将简化计算机视觉程序和解决方案的开发。OpenCV拥有包括500多个C函数的跨平台的中、高层API。它不依赖于其它的外部库——尽管也可以使用某些外部库。OpenCV对非商业应用和商业应用都是免费的。OpenCV为IntelIntegratedPerformancePrimitives(IPP)提供了透明接口。这意味着如果有为特定处理器优化的IPP库,OpenCV将在运行时自动加载这些库。OpenCV作为开放的数字图像处理和计算机视觉软件平台,有以下优点:(1)开放C源码;(2)基于Intel处理器指令集开发的优化代码;(3)统一的结构和功能定义;(4)强大的图像和矩阵运算能力;(5)方便灵活的用户接口;(6)同时支持MS.Windows和Linux平台OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(IntegratedPerformancePrimitives)得到更快的处理速度。OpenCV拥有包括500多个C函数的跨平台的中、高层API。它不依赖于其它的外部库——尽管也可以使用某些外部库。OpenCV使用类BSDlisence,所以对非商业应用和商业应用都是免费(FREE)的。OpenCV为IntelIntegratedPerformancePrimitives(IPP)提供了透明接口。这意味着如果有为特定处理器优化的的IPP库,OpenCV将在运行时自动加载这些库。OpenCV显著的优点是其源代码完全开放,能够从Intel公司的网站免费下载得到,同时提供了针对多种格式的图像文件的处理函数。OpenCV运行速度快,有通用的图像/视频载入、保存、获取和处理模块。目前的1.0版本库中包含CxCore基本算法模块、Cv图像处理和计算机视觉模块、CvAux附加函数模块、HiguGui用户交互模块、CvCam视频模块、ml机器学习模块,能够实现包括图像数据操作、视频输入输出、结构分析、摄像头标定以及基本的图形用户界面等功能,并且通过大量的补充,其功能在不断扩展。OpenCV提供的视觉处理算法非常丰富,并且它部分以C语言编写,加上其开源的特性,处理得当,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以很多人用它来做算法的移植,OpenCV的代码经过适当改写可以正常的运行在DSP系统和单片机系统中。OpenCV的设计目标是执行速度尽量快,主要关注实时应用。它采用优化的C代码编写,能够充分利用多核处理器的优势。如果是希望在Intel平台上得到更快的处理速度,可以购买Intel的高性能多媒体函数库IPP(IntegratedPerformancePrimitives)。IPP库包含许多从底层优化的函数,这些函数涵盖多个应用领域。如果系统已经安装了IPP库,OpenCV会在运行时自动使用相应的IPP库。OpenCV的一个目标是构建一个简单易用的计算机视觉框架,以帮助开发人员更便捷地设计更复杂的计算机视觉相关应用程序。OpenCV包含的函数有500多个,覆盖了计算机视觉的许多应用领域,如工厂产品检测、医学成像、信息安全、用户界面、摄像机标定、立体视觉和机器人等。因为计算机视觉和机器学习密切相关,所以OpenCV还提供了MLL(MachineLearningLibrary)机器学习库。该机器学习库侧重于统计方面的模式识别和聚类(clustering)。MLL除了用在视觉相关的任务中,还可以方便地应用于其他的机器学习场合。国内的一些研究院也利用opencv对涂树白机的视觉图像背景去除从而识别树木,计算出树干的直径后进行后续操作。将一种自动涂树白机应用于该领域等。国外也有相关opencv教程相关书籍,大多数计算机科学家和程序员已经意识到计算机视觉的重要作用。但是很少有人知道计算机视觉的所有应用。例如,大多数人或多或少地知道计算机视觉可用在监控方面,也知道视觉被越来越多地用在网络图像和视频方面。少数人也了解计算机视觉在游戏界面方面的应用。但是很少有人了解大多数航空和街道地图图像(如Google的StreetView)也大量使用计算机定标和图像拼接技术。一些人知道安全监控、无人飞行器或生物医学分析等方面的应用,但
本文标题:南京林业大学毕业设计开题报告题目基于OpenCV的树木视觉图像
链接地址:https://www.777doc.com/doc-4272878 .html