Mat::Mat() 无参数构造方法
Mat::Mat(int rows, int cols, int type) 创建行数为rows,类型为type的图像。
Mat::Mat(Size size, int type) 创建大小为size,类型为type的图像。
Mat::Mat(int rows, int cols, int type, const Scalar& s) 创建行数为rows,列数为cols,类型为type的图像,并将所有元素初始化为s。
Mat::Mat(const Mat& m) 将m赋值给新创建的对象,此处不会对图像数据进行复制,m和新对象共用图像数据。
Mat类型造函数中很多都涉及类型type,type可以是CV_8UC1、CV_16SC1......CV_64FC3等。里面的8U标识8为无符号整数(0~255),16S表示16位有符号整数(-32768~32767),64位表示64位浮点double类型数据(-DBL_MAX~DBL_MAX,INF,NAN),C后面的数表示通道数,例如C1表示一个通道的图像,C3表示3个 通道的图像,以此类推。
Mat类常用函数功能
函数 | 功能 |
Mat::row | 创建一个具有指定了矩阵头中行数的参数的矩阵 |
Mat::col | 创建一个具有指定了矩阵头中列数的参数的矩阵 |
Mat::rowRange | 为指定的行span创建一个新的矩阵头,可取指定行区间元素 |
Mat::colRange | 为指定的行span创建一个矩阵头,可取指定列区间元素 |
Mat::clone | 创建一个数组及其基础数据的完整副本 |
Mat::copyTo | 把矩阵复制到另一个矩阵中 |
Mat::convertTo | 在缩放或不缩放的情况下转换为另一种数据类型 |
Mat::zeros | 返回指定的大小和类型的零数组 |
Mat::ones | 返回一个指定的大小和类型全为1的数组 |
Mat::channels | 返回矩阵通道的数目 |
Mat::empty |
如果数组有没有elemens,则返回true |
Mat::at | 返回对指定数组元素的引用 |