第 25卷第 4期 计算机应用与软件 Vol∙25No.4
2008年 4月 ComputerApplicationsandSoftware Apr.2008
收稿日期:2007-04-11。国家自然科学基金项目 (50575211)。贾
小军讲师主研领域:计算机视觉与数字图像处理。
基于开源计算机视觉库 OpenCV的图像处理
贾小军
1
喻擎苍
2
1
(嘉兴学院信息工程学院 浙江 嘉兴 314001)
2
(浙江理工大学信息电子学院 浙江 杭州 310018)
摘 要 讨论了 OpenCV(OpenSourceComputerVisionLibrary)相对于现有的计算机视觉软件包所具有的优势描述了 OpenCV的
环境配置、数据定义、图像元素访问方式。OpenCV成为一种源码开放、包含丰富的高级数学计算函数、图像处理函数和计算机视觉
函数、不断更新和平台无关性的计算机视觉软件包。给出了两个实例表明了其部分特性。
关键词 计算机视觉 OpenCV 图像处理
THEIMAGEPROCESSINGBASEDONOPENSOURCECOMPUTERVISIONLIBRARY
JiaXiaojun
1
YuQingcang
2
1
(SchoolofInformationEngineeringJiaxingUniversityJiaxing314001ZhejiangChina)
2
(SchoolofElectricalandInformationZhejiangSci-TechUniversityHangzhou310018ZhejiangChina)
Abstract TheadvantageofOpenCVovertheexistingcomputervisionlibraryisdiscussed.Theenvironmentconfigurationdatadefinition
andtheaccesstoimageelementofOpenCVaredescribed.OpenCVhasbecomeanopensourcecomputervisionsoftwarepackagewhichhas
advancedmathematicalcalculationfunctionimageprocessingfunctionandcomputervisionfunction.Itisofceaselessrenewalandisplatform
independent.TwoexamplesaredemonstratedandpartialfeaturesofOpenCVareindicated.
Keywords Computervison OpenCV Imageprocessing
0 引 言
近年来以图形、图像、视频等大容量为特征的图像数据处
理广泛应用于医学、交通、工业自动化等领域。其最大特点是数
据量大有时要求实时处理。大多数图像处理软件包均用 C/C
++来编写
[12]
。这些软件包为图像分析和机器视觉处理提供
了极大的便利但是却存在许多问题。如:大多数软件包只能作
低层图像处理无法实现诸如目标跟踪、摄像机标定、模式识别、
三维重建、机器学习等高层处理;许多软件包作为商业出售而无
法普及。
OpenCV是 Intel公司资助的开源计算机视觉库与现有的
计算机视觉库存相比具有不可比拟的优势:
(1) 由一系列 C函数和少量 C++类构成包括 300多个
C/C++函数;支持中、高层 API;可以使用外部库也可以完全
独立;为 IPP提供了透明接口;对商业和非商业应用免费用户
可以进行二次开发;函数经过优化执行效率高;
(2) 提供了丰富的图像及计算机视觉处理函数。提供了数
组、列表、队列、集合、树等基本数据结构;包含了求矩阵积、特征
值、奇异值、方程求解、特殊函数等众多高级数学计算函数;基本
的图像处理如滤波、边缘检测、形态操作等;高级图像视觉操作
功能如摄像机标定、运动分析、目标跟踪、模式识别、机器学习
等等;
(3) 良好的跨平台性。支 持 Windows、Linux、Unix及 Mac
OSX操作系统;支持大多数 C/C++编译器如:MSVC6.0、MS-
VC.NET2003、MSVC.NET2005及 C++ BuilderX(简 称 BCB)。
可以轻易在不同平台之间进行移植;
(4) 更新速度快。2006年 11月发布了最新版本 OpenCV_
1.0.exe这是 Intel推出的第一个正式版。扩充了大量函数;支
持新编译器 GCC4.X支持 OpenMP;增加了新的大型视频监控
模块可以实现智能目标跟踪;增加了 ML(机器学习 )类库;扩
展了对 Python的绑定。
本文给出 OpenCV在各种编译环境下的 配 置 及其语法结
构图像数据的存取方法最后给出两个实例。
1 OpenCV在几种编译器环境下的配置
使用 OpenCV必须正确地配置其应用环境。不同的编译
器配置方法略有不同。下面给出了三种环境下的配置方法。
1.1 MSVC6.0环境下的配置
在 MSVC6.0环境下启动 OpcnCV安装目录下的_make文
件夹中的 OpenCV.dsw工程用默认的 Win32Debug模式 Build
工程将 自 动生 成 Lib及 Dll文 件如 cvd.lib/highgyid.lib及
cvd.dll/highguid.dll等将其拷贝到 Lib目录下供以后使用。
要有效使用链接库还需在程序中加入对应的头文件如
cv.h/highgui.h并且在工程中加入对应的链接文件及其它链接
文件。打开工程环境下的菜单 Project选择 Settings项。在 C/C