一、推荐存储方式
vector<Mat> masks;
Mat img;
masks.pushback(img.clone()); //必须使用clone或者copyto
二、Mat的深拷贝,浅拷贝
1、浅拷贝
不复制数据只创建矩阵头,数据共享(更改a,b,c的任意一个都会对另外2个产生同样的作用)
Mat a;
Mat b = a; //a "copy" to b
Mat c(a); //a "copy" to c
2、深拷贝
Mat a;
Mat b = a.clone(); //a copy to b
Mat c;
a.copyTo(c); //a copy to c
三、vector的pushback()
如果直接使用变量名,调用的是浅拷贝,
若后续img重新赋值,指向不同的数据,则masks中存储的数据全部改变
vector《Mat> masks;
Mat img;
masks.pushback(img);