Apr
17

搬家喽
2009-04-17 15:13 作者:落寞红尘

博客搬家了,日志也即将迁移过来,谢谢大家捧场哦:)

推荐(0)
收藏
分享至: Google书签 新浪ViVi 365Key网摘 QQ书签 
Jan
01

[OpenCV学习笔记]一、OpenCV计算机视觉简介
2009-01-01 10:21 作者:落寞红尘

一、OpenCV简介

OpenCV是Intel公司支持的开源计算机视觉库。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。 它拥有包括 500 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。 它使用类BSDlisence,所以对非商业应用和商业应用都是免费(FREE)的。(细节参考 license)。OpenCV 为Intel Integrated Performance Primitives (IPP) 提供了透明接口。 这意味着如果有为特定处理器优化的的 IPP 库, OpenCV 将在运行时自动加载这些库。 更多关于 IPP 的信息请参考:  http://www.intel.com/software/products/ipp/index.htm

 

目前opencv库包括以下几个模块:

1、CxCore:包括一些基本功能。从“core核心"名字可以看出,该库提供了所有OpenCV运行时的一些最基本的数据结构,包括矩阵,数组的基本运算,包括出错处理的一些基本函数。具体分为下面若干部分。1)、基础结构 2)、数组操作 3)、动态结构 4)、绘图函数 5)、数据保存和运行时类型信息 6)、其它混合函数 7)、错误处理和系统函数。

2、Cv:图像处理和计算机视觉功能,这是主要的函数库,包括图像处理、结构分析、运动分析、物体跟踪、模式识别和摄像机标定等功能。

3、CvAux:附加库函数,包括一些实验性的函数,如View Morphing,三维跟踪,PCA,HMM等函数。

4、HighGUI:交互部分,HighHGUI只是用来建立快速软件原形或是试验用的。它的设计意图是为用户提供简单易用的图形用户接口。通常,你需要读入源图像到你的程序或者输出结果图像到磁盘。此外,需要简单的方法显示图像到监视器并且向允许(受限的)用户提供输入。

5、ml:新加入的机器学习库(MLL)是一些用于分类、回归和数据聚类的类和函数。目前的主要内容为分类器。大部分分类和回归算法是用C++类来实现。尽管这些算法有一些不同的特性(像处理missing measurements的能力,或者categorical input variables等),这些类之间有一些相同之处。这些相同之处在类 CvStatModel 中被定义,其他 ML 类都是从这个类中继承。

6、CvCam:目录已经抛弃。

    注:在HighGUI中没有任何的方法工具能够为流畅的用户界面提供产品级的错误处理。如果你试图创建最终用户的应用,请不要使用HighGUI 。 相对来说,应当为你的目标系统参考特定的函数库。比如:HighGUI中的摄像头输入方法(cvCreateCameraCapture)是为了易用而设计的。然而,并不意味着它能够对热插拔作出反应等等。

 

OpenCV的功能主要包括以下:

1、图像数据的操作(分配、释放、复制、设置和转换)

2、图像和视频的输入输出I/O(文件与摄像头的输入、图像和视频文件输出)

3、矩阵和微量的操作以及线性代数的算法程序(矩阵积、解议程、特征值以及奇异值等)

4、各个动态数据结构(列表、队列、集合、树、图等)

5、的数字图像处理(滤波、边缘检测、角点检测、采样与差值、色彩转换、形态操作、直方图、图像金字塔等)

6、结构分析(连接部件、轮廓处理、距离变换、各自距计算、模板匹配、Hough变换、多边形逼近、直线拟合、椭圆拟合、Delaunay三角划分等)

7、摄像头定标(包括发现与跟踪定标模式、定标、矩阵估计、齐次矩阵估计、立体对应)

8、运动分析(光流、运动分割、跟踪)

9、目标识别(特征法、隐马尔可夫模式:HMM)

10、GUI(图像与视频显示、键盘和鼠标事件处理、滚动条)和图像标注(线、二次曲线、多边形、文字)

 

二、计算机视觉

计算机视觉技术是以计算机为中心,模拟人脑对图像的分析和处理的过程技术。它一般可以分为以下五个部分。

1、输入设备(input device)

2、低层视觉(low level vision)

3、中层视觉(intermediate level vision)

4、高层视觉(high level vision)

5、体系结构(system architecture)

 

三、计算机视觉相关领域

1、计算机视觉与图像处理(image processing)

2、计算机视觉与计算机图形学(computer graphics)

3、计算机视觉与模式识别(pattern recognition)

4、计算机视觉与人工智能(artificial intelligence,AI)

5、人工神经网络(artificial neural network,ANN)

6、神经生物物理学(neurobiophisics)与认知科学(cognitive science)

7、计算机视觉与心理物理学(psychophysics)

 

 

学习参考:

OpenCV中文网站:http://www.opencv.org.cn/

OpenCV编码样式:http://www.opencv.org.cn/index.php/OpenCV_%E7%BC%96%E7%A0%81%E6%A0%B7%E5%BC%8F%E6%8C%87%E5%8D%97

推荐(0)
收藏
分享至: Google书签 新浪ViVi 365Key网摘 QQ书签