一:VS 2008 和 OpenCV 2.3.1 环境搭建
再此之前我配置过很多不同版本的也用过一些个方法,好像都没完完全全的配置成功过(怪自己愚笨),这里留个篇给网友们也给自己,提供个参考,以免自己下次配置再卡带:
我配置的方法和opencvchina上的推荐方法是一致的。不过我是通过Cmake自己编译的,具体方法请参考:
(见网址)http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.3.1
这里提醒一下,配置的步骤一定要仔细看清楚,一步步安装,这样一路下来就OK了。还有Debug和Release配置的附加依赖项建议是自己用个文档保存下,以后直接粘贴方便多了,没必要每次新建项目都一个个敲键盘添加进去。
二:OpenCV简介
1、什么是OpenCV
OpenCV是Intel®开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV的设计目标是 执行速度尽可能的快 和构建一个简单易用的计算机视觉框架。
重要特性
OpenCV 拥有包括 300 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。
OpenCV 对非商业应用和商业应用都是免费(FREE)的。OpenCV 为Intel® Integrated Performance Primitives (IPP) 提供了透明接口。 这意味着如果有为特定处理器优化的的 IPP 库, OpenCV 将在运行时自动加载这些库。 更多关于 IPP 的信息请参考: http://www.intel.com/software/products/ipp/index.htm
2、应用领域
1、人机互动
2、物体识别
3、图象分割
4、人脸识别
5、动作识别
6、运动跟踪
7、机器人
3、OpenCV的基本结构
OpenCV包括CV , CVAUX , CXCORE, HighGUI , ML 等5个重要的模块
如果用库来体现这几个模块之间的关系的话, 可以采用下面的结构图来展现:
CV---核心函数库:包含了基本的图像处理函数和高级的计算机视觉算法,包括图像处理, 图像结构分析,运动描述和跟踪,模式识别和摄像机标定。
ML---机器学习函数库:包含一些基于统计的分类和聚类工具。
HighGUI---GUI函数库:包含图像和视频的输入/输出函数。
CXCORE---数据结构与线性代数库:包含了OpenCV的一些基本的数据结构和相关函数
CVAUX---辅助函数库:该模块则是一般用于存放即将被淘汰的算法和函数,同时也包含一些新出现的实验性的函数和算法。
4、OpenCV功能
- 图像数据操作(内存分配与释放,图像复制、设定和转换)
- 图像/视频的输入输出(支持文件或摄像头的输入,图像/视频文件的输出)
- 矩阵/向量数据操作及线性代数运算(矩阵乘积、矩阵方程求解、特征值、奇异值分解)
- 支持多种动态数据结构(链表、队列、数据集、树、图)
- 基本图像处理(去噪、边缘检测、角点检测、采样与插值、色彩变换、形态学处理、直方图、图像金字塔结构)
- 结构分析(连通域/分支、轮廓处理、距离转换、图像矩、模板匹配、霍夫变换、多项式逼近、曲线拟合、椭圆拟合、狄劳尼三角化)
- 摄像头定标(寻找和跟踪定标模式、参数定标、基本矩阵估计、单应矩阵估计、立体视觉匹配)
- 运动分析(光流、动作分割、目标跟踪)
- 目标识别(特征方法、HMM模型)
- 基本的GUI(显示图像/视频、键盘/鼠标操作、滑动条)
- 图像标注(直线、曲线、多边形、文本标注)