你好,我有一个关于OpenCV的基本问题。如果我想使用cv::Mat类分配内存,我可以这样做:
cv::Mat sumimg(rows,cols,CV_32F,0);
float* sumimgrowptr = sumimg.ptr<float>(0);
但是我得到了一个错误的指针(Null)。在互联网上有些人使用以下方法:
cv::Mat* ptrsumimg = new cv::Mat(rows,cols,CV_32F,0);
float* sumimgrowptr = ptrsumimg->ptr<float>(0);
这里我也得到了一个空指针返回值!但是如果我最终执行以下操作:
cv::Mat sumimg;
sumimg.create(rows,cols,CV_32F);
sumimg.setTo(0);
float* sumimgrowptr = sumimg.ptr<float>(0);
那么一切都很好!所以我想知道我所做的有什么问题吗?