对于这样创建的 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
有什么建议吗?
最佳答案
您的示例不处理指针。内存在堆栈上,在作用域结束之前你没有什么可以释放的。
operator IplImage() const
from Mat
指定不复制任何数据。
关于c++ - 如何释放由 imdecode 创建的 IplImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4462272/