Mat对象
Mat对象:OpenCV2.0之后引进的图像数据结构、自动分配内存、不存在内存泄漏的问题,是面向对象的数据结构,分了两个部分,头部分与数据部分。
Mat对象构造函数与常用方法
构造函数:
Mat()
Mat(int rows,int clos,int type)
Mat(Size size,int type)
Mat(int rows,int clos,int type,const Scalar &s)
常用方法:
void copyTo(Mat mat)
void convertTo(Mat dst,int type)
Mat clone()
int channels()
int depth()
bool empty()
uchar * ptr(i = 0)
Mat对象四个要点
输出图像内存是自动分配的
使用OpenCV的C++接口,不需要考虑内存分配问题
复制操作和靠拷贝构造函数只会复制头部分
使用clone和copyTo两个函数实现数据完全复制
Mat对象创建:
cv::Mat::Mat 构造函数
Mat M(2,2,CV_8UC3,Scalar(0,0,255))
CV_8UC3中的8表示每个通道占8位,U表示无符号,第三个char类型,3表示通道数目是3,第四个参数是向量表示初始化每个像素值是多少,向量长度对应通道数目一致。
cv::Mat::create 创建多维数组
int sa[3]={2,2,2};
Mat L(3,sz,CV_8UC1,Scalar::all(0));
源码和原图片请到Github下载:
https://github.com/MRwangmaomao/OpenCVMatTest-Project.git
————————————————
版权声明:本文为CSDN博主「南山二毛」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_16481211/article/details/79558468

