如何释放由imdecode创建的IplImage

时间:2010-12-16 15:14:31

标签: c++ visual-c++ opencv

我不知道如何在像这样创建的IplImage中释放内存:

Mat matrixJpeg = cv::imdecode(Mat(jpegBuffer), 1);
IplImage fIplImageHeader = matrixJpeg;

这不起作用:

cvReleaseImage(&fIplImageHeader);

我会收到错误:

1   IntelliSense: argument of type "IplImage *" is incompatible with parameter of type "IplImage **"    c:\users\richard\documents\visual studio 2010\projects\server\server\server.cpp 59  19  Server

这也不起作用:

cvReleaseImage(fIplImageHeader);

我会收到错误:

1   IntelliSense: no suitable conversion function from "IplImage" to "IplImage **" exists   c:\users\richard\documents\visual studio 2010\projects\server\server\server.cpp 59  19  Server

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

你的例子不是处理指针。内存在堆栈上,直到范围结束才能释放。

Mat中的operator IplImage() const指定不会复制任何数据。