一个矩阵中的数据在 C++ 中自动复制到 OpenCV 中的另一个矩阵
data in one matrix automatically getting copied to another matrix in opencv in c++
我做了一个函数,在其中我传递一个矩阵并返回处理后的矩阵,但是处理矩阵的数据被复制到我传递的矩阵中,例如。
output=processMatrix(srcCopy);
然后当我显示这两个矩阵时,我在 srcCopy 和输出中得到相同的图像,我将它们的内存分配为;
output=Mat(image.rows,image.cols,CV_8UC1 );
srcCopy=Mat(image.rows,image.cols,CV_8UC1 );
问题是cv::Mat
复制构造函数执行源cv::Mat
的浅拷贝。看这里。您可能需要做的是使用 cv::MAt::clone()
方法创建原始克隆。然后,可以避免函数参数列表中的浅拷贝:
cv::Mat skeletonize(const cv::Mat& m) {
// use clone() in here to make a new Mat and return it
}
您可以使用Mat Mat::clone()
来创建副本。
Mat dst= src.clone();
src.Release();
垫子克隆的文档
相关文章:
- 矢量如何将数据复制到另一个矢量?
- 为什么C++在将一个对象复制到另一个对象时需要对这两个对象进行低级常量限定
- 链表,将列表复制到另一个列表
- 将指向给定子类的指针从一个向量复制到另一个向量
- 有没有办法使用 strcpy 将字符串数组复制到另一个字符串或其他数组中?
- 将父类的子类的数据复制到具有相同父类的另一个类
- 使用动态分配将 char* 复制到另一个字符**
- 如何在不复制的情况下将一个向量移动到另一个向量中
- 将字符向量复制到另一个向量
- 如何将一个结构的字符数组复制到结构的另一个字符数组中?
- 如何使用函数将一个对象的输入复制到另一个对象中
- 为什么我可以使用 memcpy 将一个对象变量复制到另一个对象变量
- 复制矩阵的一部分并粘贴到另一个矩阵C++上
- std::transform 将一个结构数组复制到另一个结构数组
- 如何避免将向量的完整值复制到另一个容器
- 如何将列表从一个类复制到另一个类
- C++将结构复制到另一个程序的资源
- 复制赋值函数如何访问另一个对象的私有成员(Stroustroup 原则和实践书)?
- C 复制另一个文件
- 复制另一个文件时,在新文件中创建新行