【求助】IplImage内存泄露问题,谢谢大家

clkz01 2013-04-09 05:10:30
在程序中使用了opencv中的IplImage,可是使用一段时间后,发现内存慢慢增大,网上也查询了很多帖子,方法也使用不奏效,例如:
http://benson.is-programmer.com/posts/21042.html
http://zhaostudy2.blog.163.com/blog/static/135350205201010160541433/

部分方法如下:
IplImag *img = cvCreateImage( cvSize(frame->width,frame->hight), frame->depth, frame->nChannels );
        img = cvCloneImage(frame);

    这里出现内存泄露,因为调用cvCloneImage()之前已经用cvCreateImage()为图像分配了内存空间,而cvCloneImage()函数是对源图像的所有数据的拷贝,包括图像头、数据、ROI等,这就导致原来分配的内存空间变成了内存碎片,造成内存泄露。.解决方法如下:

        IplImag *img = cvCloneImage(frame);

    或 

        IplImag *img = cvCreateImage( cvSize(frame->width,frame->hight), frame->depth, frame->nChannels );

        cvReleaseImage(&img);
        img = cvCloneImage(frame);

    或

        IplImag *img = cvCreateImage( cvSize(frame->width,frame->hight), frame->depth, frame->nChannels );
        img = cvCloneImage(frame);

        cvCopy(frame,img,NULL);


我用得是opencv1.0,因为使用的是VC6.0,可以使用其它办法的吗?比如opencv2.0 opencv2.3.1等等,是版本的问题?
...全文
276 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
clkz01 2013-04-09
  • 打赏
  • 举报
回复
引用 4 楼 fengbingchun 的回复:
http://blog.csdn.net/fengbingchun/article/details/6265287
试过,内存还是要增加,是不是opencv1.0版本问题,我用的是VC6.0
libralibra 2013-04-09
  • 打赏
  • 举报
回复
引用 2 楼 clkz01 的回复:
引用 1 楼 libralibra 的回复:创建后记得删除就行了 你干嘛非得用同一个变量又是复制,又是创建? IplImage *crtImg = *** 创建,用完后cvReleaseImage(&crtImg) IplImage *cpyImg = *** 复制,用完后cvReleaseImage(&cpyImg) 只要你记住创……
如果你这样用还有泄露,那是其他地方的内存泄露
clkz01 2013-04-09
  • 打赏
  • 举报
回复
引用 1 楼 libralibra 的回复:
创建后记得删除就行了 你干嘛非得用同一个变量又是复制,又是创建? IplImage *crtImg = *** 创建,用完后cvReleaseImage(&crtImg) IplImage *cpyImg = *** 复制,用完后cvReleaseImage(&cpyImg) 只要你记住创建了几个对象,就销毁几个,没事
试过,还是不行,在不关闭程序的情况下,连续使用,内存也要增加
libralibra 2013-04-09
  • 打赏
  • 举报
回复
创建后记得删除就行了 你干嘛非得用同一个变量又是复制,又是创建? IplImage *crtImg = *** 创建,用完后cvReleaseImage(&crtImg) IplImage *cpyImg = *** 复制,用完后cvReleaseImage(&cpyImg) 只要你记住创建了几个对象,就销毁几个,没事

19,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧