2

如何在 OpenCV 中将数据从 cv::Mat 复制到 CvMat,反之亦然?

4

2 回答 2

9

根据cv::Mat 的文档cv::Mat有一个带有CvMat *参数和operator CvMat()成员函数的构造函数。因此,两者之间的复制可以很容易地完成,如下所示。

cv::Mat m;

// populate m

CvMat n = m; // cv::Mat::operator CvMat() const;

m = cv::Mat(&n); // cv::Mat::Mat(const CvMat* m, bool copyData = false);
// or
m = cv::Mat(&n, true); // to copy the data
于 2012-07-06T00:36:44.940 回答
1

根据opencv文档(http://docs.opencv.org/2.4/modules/core/doc/basic_structures.html):

“通过转换运算符 Mat::operator CvMat() const 和 Mat::operator IplImage() 提供从 Mat 到 CvMat 或 IplImage 的反向转换。运算符不复制数据。”

于 2016-03-15T10:18:05.437 回答