Как правильно инициализировать указатель cv:: Mat на матрицу 0 с нулями()

У меня есть следующий инициализированный в верхней части функции:

cv::Mat *m;

Затем в цикле я выделяю новые матрицы с этим именем и сохраняя их в списке. Я хочу, чтобы они инициализировались как нулевые матрицы с определенным размером.

Это то, что я пробовал:

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

Я попробовал это на примере, приведенном в документации OpenCV. Каков правильный способ выполнения этой операции?

Ответ 1

Из документации 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