资源描述:
《ubuntu下基于opencv的canny边缘检测》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Ubuntu下基于OpenCV的Canny边缘检测摘要:详细地介绍了用于数字图像处理的开放源代码的计算机视觉类库—OpenCV。利用OpenCV中的数字图像处理函数使复杂的问题变得简单化。介绍了OpenCV的特点和功能,讨论了在Ubuntu环境下如何配置OpenCV,最后在此基础上给出了一个Canny边缘检测应用实例,其对数字图像处理的研究具有一定的实用价值。 关键词:数字图像处理计算机视觉OpenCVUbuntu :TP391.41:A:1007-9416(2011)01-0053-02 Cannyedgedetec
2、tionbasedonOpenCVinUbuntu XuCaijing (Nanjingfire-fightingsergeancyestoschoolCultureteachingnanjing211133) Abstract:Describedindetailfordigitalimageprocessingoftheopensourceputervisionlibrary—OpenCV.UseOpenCVindigitalimageprocessingfunctionscansimpliflytheplexp
3、roblem.DescribesthefeaturesandfunctionsofOpenCV,anddiscussedhoent.Finally,baseonCannyedgedetectionisgivenanapplicationexample.Ithascertainpracticalvalueontheresearchofdigitalimageprocessing. Keyageprocessing;putervision;OpenCV;Ubuntu 1、引言 近年来,无论在生活还是在工程运用中涉及到得图像
4、绝大多数是数字图像。它是用一个数字阵列表示的,该阵列的每个元素称为像素,该像素是组成数字图像的基本元素,按照某种规律变成一系列二进制代码(0和1)来表示图像上的每个点,所以又被称为离散图像。对数字图像的处理已广泛应用到工业、农业、微生物、医学、航空航天及国防等诸多领域。 随着数字图像处理应用的日益广泛,数量大、处理时间长和速度慢等缺点也显现出来。虽然随着处理器速度和内存容量的指数式增长,上述的问题有所改善,但问题还是相当突出。所以研究者不断地开发出图像处理的高效算法及图像处理的软件包,这些软件包对计算机图像处理和计算机视觉的研
5、究提供很大的便利。但是也存在着诸多的缺点:(1)大多数软件包没有高级数学计算函数;(2)MatLab是图像处理很好的软件,但是它的运行速度是不能忍受的;(3)绝大多数的软件包不支持可嵌入性等。 本文主要介绍OpenCV(opensourceputervisionlibrary)的特点,以及它在Ubuntu环境下的配置,最后给出了一个Canny边缘检测应用实例。 2、OpenCV介绍 开发源代码的计算机视觉类库OpenCV是由Intel公司位于俄罗斯的研究实验室开发出来的。为了考虑计算的速度,大多数图像处理的软件包是用C
6、/C++编写的,OpenCV也不例外。它是由300多个C函数和C++类所组成的库,在IPL(imageprocessinglibrary)基础上发展而来的。主要由4个模块组成:(1)cv:主要的OpenCV函数;(2)cvaux:辅助性的OpenCV函数;(3)cxcore:数据结构与线性代数支持;(4)highgui:图像界面函数。 3、OpenCV的特点 虽然很多文献都提到了OpenCV的特点,但是都没有对其进行系统地描述总结,本文对其特点进行了归纳总结,如下: (1)具有良好的独立性。包含了300多个C函数和C+
7、+类,不依赖于外部库,即可独立运行,也可以运行时使用其它外部库。(2)具有良好的跨平台性。OpenCV是由跨平台的中高层API构成,为程序员提供了能在很多平台上都适用的移植性好的算法基础操作,很好地支持SVC++6.0、MSVC++.2003、MSVC++.2005、BorlandC++Builder和Ubuntu等,可以作为二次开发的理想工具。(3)具有丰富的图像处理函数。OpenCV包含了列表、队列、集合、图等基本的数据结构;求特征值、奇异值等的矩阵和向量及线性代数的操作;图像滤波、边缘检测、角点检测、数学形态学操作等的基本
8、数字图像处理;还包括对图像的高级处理,如特征检测与跟踪、运动分析、目标分割与识别以及3D重建等各种应用。(4)处理速度快。OpenCV中的算法都是基于封装于IPL的具有很高灵活性的动态数据结构,基于Intel处理器指令集开发的优化代码,所有处理的速度相当快。而且