如何使用零()正确初始化一个指向0矩阵的cv :: Mat指针

时间:2011-11-18 19:07:26

标签: c++ opencv

我在函数顶部初始化了以下内容:

cv::Mat *m;

然后,在一个循环中,我将分配具有此名称的新矩阵并将它们存储在列表中。我希望它们初始化为具有特定大小的零矩阵。

这就是我的尝试:

m = new cv::Mat::zeros(height, width, CV_32F);

我根据OpenCV文档中给出的示例尝试了这个。执行此操作的正确方法是什么?

1 个答案:

答案 0 :(得分:19)

Mat::zeros的文档中,它使用了如此

cv::Mat m = cv::Mat::zeros(height, width, CV_32F);

如果要使用在堆上分配的Mat

cv::Mat * m = new cv::Mat( cv::Mat::zeros(height, width, CV_32F) );

// use m

delete m; // don't forget to delete m