使用cvReleaseImage()释放图像出错

前几天用opencv写程序的时候,在用cvReleaseImage()函数释放cvLoadImage()加载的图像的时候出错,如下所示:

IplImage *src = cvLoadImage(filePath, CV_LOAD_IMAGE_COLOR);
cvReleaseImage(&src);//出错

而是用cvReleaseImage()释放cvCreateImage()创建的图像就没有问题。原因是项目中依赖的highgui.lib和cxcore.lib的版本一个是debug版,一个是release版。改成一样的就行了,与自己程序是用的是debug还是release无关。

ps:这个问题很早之前就碰到过,以前没怎么在意,这次要在一个循环中使用cvLoadImage(),不释放的话内存很快就占完了,所以用了几天的时间找到了问题所在。

解决办法:最直接的办法是用重新编译一下highgui.lib和cxcore.lib的源代码,编译的时候都选择编译release版本或debug版本。

文章转载:http://blog.csdn.net/wangguanguo/article/details/7460048

原文地址:https://www.cnblogs.com/stemon/p/5037207.html