【发布时间】:2021-03-27 01:23:14
【问题描述】:
我尝试运行此代码来创建 vector<Mat>
vector<Mat> scoreImgs(8, Mat(size, CV_32FC1));
我发现它不是深拷贝。我不想使用for 或while 之类的:
for (int i = 0; i < 8; ++i)
{
scoreImgs[i] = move(Mat(size, CV_32FC1));
}
那么我怎样才能创建一个带有深拷贝的vector<Mat>。
【问题讨论】:
-
你是怎么发现不是深拷贝?
-
@Scheff 这是 OpenCV 库的本质。
Matin 更像是指向矩阵的智能指针。 -
@MarekR Yepp。我刚刚找到了医生。关于复制构造函数cv::Mat::Mat(const Mat&)。