OpenCV 2.0 使用手册:核心数据结构与数组操作
![](https://csdnimg.cn/release/wenkucmsfe/public/img/starY.0159711c.png)
"该资源是OpenCV 2.0的使用手册,主要涵盖了OpenCV库中的基本结构、数组操作等内容,适用于希望深入学习OpenCV的读者。"
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,包含了众多图像处理和计算机视觉的功能。在OpenCV 2.0版本中,其API已经进行了优化和改进,使得开发者能够更加方便地进行图像处理和分析工作。
1. **基本结构**
- **CvPoint**:表示2D坐标点,包含x和y两个整数坐标。
- **CvPoint2D32f/CvPoint3D32f**:浮点数表示的2D或3D坐标点,用于更精确的位置描述。
- **CvPoint2D64f/CvPoint3D64f**:双精度浮点数表示的2D或3D坐标点,提供更高的精度。
- **CvSize**:表示图像的宽度和高度,常用于定义矩形或其他区域的尺寸。
- **CvSize2D32f**:浮点数表示的尺寸,通常用于描述带有浮点精度的区域大小。
- **CvRect**:表示一个矩形区域,包括左上角的坐标和宽度与高度。
- **CvScalar**:表示单一颜色或数值,通常用于表示像素值。
- **CvTermCriteria**:定义迭代终止条件,常用于优化算法或循环。
- **CvMat**:二维数组结构,用于存储图像数据,支持行优先和列优先存储。
- **CvMatND**:多维数组,扩展了CvMat以适应更多维度的数据。
- **CvSparseMat**:稀疏矩阵结构,用于高效处理大量元素为零的矩阵。
- **IplImage**:旧版的图像结构,源自Intel的 IPL(Image Processing Library)。
- **CvArr**:通用数组接口,可以代表CvMat、IplImage等多种类型的数组。
2. **数组操作**
- **初始化**:
- **CreateImage**: 创建一个新的图像结构。
- **CreateImageHeader**: 只创建图像头,不分配数据。
- **ReleaseImageHeader/ReleaseImage**: 释放图像头和数据。
- **InitImageHeader**: 初始化图像头信息。
- **CloneImage**: 创建图像的副本。
- **SetImageCOI/GetImageCOI**: 设置和获取图像的通道兴趣(Channel Of Interest)。
- **SetImageROI/ResetImageROI/GetImageROI**: 设置、重置和获取图像的感兴趣区域(ROI)。
- **Mat结构**:
- **CreateMat/CreateMatHeader**: 创建二维数组结构。
- **ReleaseMat/InitMatHeader**: 释放和初始化Mat头。
- **Mat**: OpenCV 2.0引入的新接口,更方便和高效的数据结构。
- **CloneMat/CreateMatND/CreateMatNDHeader**: 创建Mat或多维数组的副本或新的实例。
- **ReleaseMatND/InitMatNDHeader**: 释放和初始化多维数组头。
- **DecRefData/IncRefData/CreateData/ReleaseData/SetData**: 对数据引用计数及数据管理的操作。
- **GetRawData**: 获取Mat的原始数据指针。
- **GetMat/GetImage**: 从其他结构获取Mat或IplImage对象。
- **CreateSparseMat/ReleaseSparseMat/CloneSparseMat**: 处理稀疏矩阵的相关操作。
3. **访问元素和子数组**
- **GetSubRect**: 获取数组的子矩形区域。
- **GetRow/GetCol**: 获取数组的行或列。
- **其他**: 包括对矩阵元素的直接访问、子数组操作、拷贝、转换等。
这个使用手册详细介绍了OpenCV 2.0中常用的基本结构和数组操作方法,对于开发基于OpenCV的应用程序,无论是图像处理还是计算机视觉任务,都提供了宝贵的参考资料。通过学习和掌握这些知识,开发者可以有效地利用OpenCV的功能来实现图像分析、识别、跟踪等各种复杂任务。
105 浏览量
132 浏览量
105 浏览量
2012-10-12 上传
195 浏览量
181 浏览量
![](https://profile-avatar.csdnimg.cn/10dbaefed35c40ef895be057b5942ef0_caiye917015406.jpg!1)
一步一个脚印的屌丝
- 粉丝: 342
最新资源
- 深入探索Unix/Linux壳脚本编程艺术
- Java面试必备知识点:String、异常处理与集合框架
- 代码托管与平台无关性:IL与Java字节码的比较
- C#实现的在线新华字典系统开发与实现
- 优化Oracle 9i SGA:共享池与librarycache策略
- HTML Meta标签详解与应用
- ATL COM编程经验:ActiveX与接口连接
- ARM汇编详解:六种模式与37个寄存器详解
- C/S模式高校图书管理系统设计——VB+SQLServer实现
- Struts 2实战指南:2008年最新版
- 计算机图形学基础知识与原理详解
- C#编程操作Word指南
- 89.0*90.协议在流媒体传输中的应用
- TestDirector 8.0:Web测试管理系统与Bug管理详解
- Mercury LoadRunner 8.1 教程:性能测试指南
- Boson NetSim 实验指南:静态路由与缺省路由配置