我在函数顶部初始化了以下内容:
cv::Mat *m;
然后,在一个循环中,我将分配具有此名称的新矩阵并将它们存储在列表中。我希望它们初始化为具有特定大小的零矩阵。
这就是我的尝试:
m = new cv::Mat::zeros(height, width, CV_32F);
我根据OpenCV文档中给出的示例尝试了这个。执行此操作的正确方法是什么?
答案 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