-
输出图像的内存是自动分配的
-
使用OpenCV的C++接口,不需要考虑内存分配和释放等问题
-
赋值操作和拷贝构造函数只会复制头部分和指针
//同一个指针指向同一个数据 Mat src = imread("*.jpg"); Mat dst1 = src; //赋值 Mat dst2(src); //拷贝构造函数
-
使用clone()和copyTo()两个函数实现数据的完全复制
其他用法:
//单位矩阵
Mat dst = Mat::eye(10, 10, CV_8UC1);
cout << dst << endl;
备注:
- CV_8UC3含义:
8表示图像深度(位数)为8;
UC表示无符号整型(uchar),char 整数范围为-128到127( 0x80__0x7F),而unsigned char 整数范围为0到255( 0__0xFF )
3表示3通道 - 图像深度:(https://www.xuebuyuan.com/3178871.html)
图像深度是指存储每个像素所用的位数,也用于量度图像的色彩分辨率.图像深度确定彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数…比如一幅单色图像,若每个象素有8位,则最大灰度数目为2的8次方,即256.