c-关于OpenCV中的内存管理



如果这个问题看起来很傻,我很抱歉。。。我对OpenCV:中的cvLoadImage有疑问

IplImage *frame;
for (unsigned int i = 0; i < LENGTH; i++)
{
    frame = cvLoadImage(filename.c_str());  
    // do something...
}

对于cvLoadImage的每次调用,是否在存储器中存储了新的IplImageframe指向的旧变量是否在重写后从堆中释放?

此外,当我试图发布如下图片时。。。

IplImage *frame;
for (unsigned int i = 0; i < LENGTH; i++)
{
    if (frame != NULL)
        cvReleaseImage(&frame);
    frame = cvLoadImage(filename.c_str());  
    // do something...
}

为什么这个解决方案不起作用(内存访问错误)?尊敬的Vi.

是,内存由cvLoadImage分配。出现错误,因为您在开始时没有初始化帧。它必须由零或NULL初始化。

相关内容

  • 没有找到相关文章