OpenCV 编程简介教程(中文版),Image Processing, C

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Open Source Computer Vision Library

intro.html#SECTION00040000000000000000

/chenyusiyuan/archive/2010/01/26/5259060.aspx

2.2 2、输入处理

2.2.1 (1)处理鼠标事件:

2.2.2 (2)处理键盘事件:

2.2.3 (3)处理滑动条事件:

3 三、OpenCV的基本数据结构

3.1 1、图像数据结构

3.1.1 (1) IPL 图像:

3.2 2、矩阵与向量

3.2.1 (1)矩阵:

3.2.2 (2)一般矩阵:

3.2.3 (3)标量:

3.3 3、其它结构类型

3.3.1 (1)点:

3.3.2 (2)矩形框大小(以像素为精度):

3.3.3 (3)矩形框的偏置和大小:

4 四、图像处理

4.1 1、图像的内存分配与释放

4.1.1 (1)分配内存给一幅新图像:

4.1.2 (2)释放图像:

4.1.3 (3)复制图像:

4.1.4 (4)设置/获取感兴趣区域ROI:

4.1.5 (5)设置/获取感兴趣通道COI:

4.2 2、图像读写

4.2.1 (1)从文件中读入图像:

4.2.2 (2)保存图像:

4.3 3、访问图像像素

4.3.1 (1)假设你要访问第k通道、第i行、第j列的像素。

4.3.2 (2)间接访问: (通用,但效率低,可访问任意格式的图像)

4.3.3 (3)直接访问: (效率高,但容易出错)

4.3.4 (4)基于指针的直接访问: (简单高效)

4.3.5 (5)基于 c++ wrapper 的直接访问: (更简单高效)

4.4 4、图像转换

4.4.1 (1)字节型图像的灰度-彩色转换:

4.4.2 (2)彩色图像->灰度图像:

4.4.3 (3)不同彩色空间之间的转换:

4.5 5、绘图指令

4.5.1 (1)绘制矩形:

4.5.2 (2)绘制圆形:

4.5.3 (3)绘制线段:

4.5.4 (4)绘制一组线段:

4.5.5 (5)绘制一组填充颜色的多边形:

4.5.6 (6)文本标注:

5 五、矩阵处理

5.1 1、矩阵的内存分配与释放

5.1.1 (1)总体上:

5.1.2 (2)为新矩阵分配内存:

5.1.3 (3)释放矩阵内存:

5.1.4 (4)复制矩阵:

5.1.5 (5)初始化矩阵:

5.1.6 (6)初始化矩阵为单位矩阵:

5.2 2、访问矩阵元素

5.2.1 (1)假设需要访问一个2D浮点型矩阵的第(i, j)个单元.

5.2.2 (2)间接访问:

5.2.3 (3)直接访问(假设矩阵数据按4字节行对齐):

5.2.4 (4)直接访问(当数据的行对齐可能存在间隙时 possible alignment gaps):

5.2.5 (5)对于初始化后的矩阵进行直接访问:

5.3 3、矩阵/向量运算

[编辑]

[编辑]

[编辑]

[编辑]

5.3.1 (1) 矩阵之间的运算:

5.3.2 (2) 矩阵之间的元素级运算:5.3.3 (3) 向量乘积:

5.3.4 (4) 单一矩阵的运算:

5.3.5 (5) 非齐次线性方程求解:

5.3.6 (6) 特征值与特征向量 (矩阵为方阵):

6 六、视频处理

6.1 1、从视频流中捕捉一帧画面

6.1.1 (1) OpenCV 支持从摄像头或视频文件(AVI 格式)中捕捉帧画面.6.1.2 (2) 初始化一个摄像头捕捉器:6.1.3 (3) 初始化一个视频文件捕捉器:6.1.4 (4) 捕捉一帧画面:

6.1.5 (5) 释放视频流捕捉器:6.2 2、获取/设置视频流信息

6.2.1 (1) 获取视频流设备信息:6.2.2 (2) 获取帧图信息:

6.2.3 (3) 设置从视频文件抓取的第一帧画面的位置:6.3 3、保存视频文件

6.3.1 (1) 初始化视频编写器:6.3.2 (2) 保持视频文件:6.3.3 (3) 释放视频编写器:

一、简介

1、OpenCV 的特点

(1)

总体描述

OpenCV

是一个基于C/C++

语言的开源图像处理函数库

其代码都经过优化,可用于实时处理图像

具有良好的可移植性

可以进行图像/视频载入、保存和采集的常规操作

具有低级和高级的应用程序接口(API )

提供了面向Intel IPP 高效多媒体函数库的接口,可针对你使用的Intel CPU 优化代码,提高程序性能(译注:OpenCV 2.0版的代码已显著优化,无需IPP 来提升性能,故2.0版不再提供IPP 接口)

(2

功能

图像数据操作(内存分配与释放,图像复制、设定和转换)

Image data manipulation (allocation, release, copying, setting, conversion).图像/视频的输入输出(支持文件或摄像头的输入,图像

/视频文件的输出)Image and video I/O (file and camera based input, image/video file output).

矩阵/向量数据操作及线性代数运算(矩阵乘积、矩阵方程求解、特征值、奇异值分解)

Matrix and vector manipulation and linear algebra routines (products, solvers, eigenvalues, SVD).支持多种动态数据结构(链表、队列、数据集、树、图)

Various dynamic data structures (lists, queues, sets, trees, graphs).

基本图像处理(去噪、边缘检测、角点检测、采样与插值、色彩变换、形态学处理、直方图、图像金字塔结构)Basic image processing (filtering, edge detection, corner detection, sampling and interpolation, color conversion,morphological operations, histograms, image pyramids).

结构分析(连通域/分支、轮廓处理、距离转换、图像矩、模板匹配、霍夫变换、多项式逼近、曲线拟合、椭圆拟

相关文档
最新文档