我开始在我的图像处理程序中使用OpenCV。当我使用cv::Mat并在内存上的一个方法中分配为:
cv::Mat coords(100, 5, CV_32FC1);如果不再需要,我是否需要在方法结束时执行coords.release()以从内存中清除?
一定要这样做吗?谢谢
发布于 2013-03-20 12:55:09
您不需要显式释放cv::Mat对象。一旦cv::Mat对象超出了声明它的作用域,它将被自动释放(即调用它的析构函数)。
更新:
(回应评论)
要检查cv::Mat是否已成功分配,您可以执行以下操作:
cv::Mat coords(100, 5, CV_32FC1);
if(coords.empty())
{
cout<<"Matrix Not Allocated";
return 0;
}https://stackoverflow.com/questions/15514750
复制相似问题