在OpenCV中我们处理视频是先将视频保存成图像,然后再处理图像,将处理完的图像再生成视频,常见的图像操作有关容器有Mat,cvMat,IplImage等.
Mat的定义是类(类中含有成员变量、成员函数和重载函数,利用自身的一些成员函数就可以进行很多的处理),有更强的矩阵运算能力,支持常见的矩阵运算,侧重于计算,数学性高,计算能力强缩短时间。
CvMat和IplImage类型的定义是结构体(结构体中大多都是成员变量,需要一些辅助的函数去处理图片),更侧重于“图像”操作(缩放,单通道提取,图像阈值操作等)。
一.初始化与定义
Mat image = imread(const string& filename, intflags = 1);
//第二个参数取0时为灰度图;取1时为彩色图像;取2时,若载入的图像的深度为16位或者32位,就返回对应深度的图像,否则,就转换为8位图像再返回;取4时,代表保持颜色通道不变。
CvMat* image = cvCreateMat(int rows, int<