无法释放从 iplimage 创建的 mat 图像
Posted
技术标签:
【中文标题】无法释放从 iplimage 创建的 mat 图像【英文标题】:unable to free mat image which is created from iplimage 【发布时间】:2017-03-16 05:07:00 【问题描述】:// src 是一个 IplImage,在我的代码中使用如果我在 // 函数中编写以下代码,它将释放内存 垫 m1(src); m1.release(); //不释放内存 cvReleaseImage(&src); //释放内存
【问题讨论】:
尽可能不要混合 Mat 和 IplImage answers.opencv.org/question/14285/… 这个问题虽然简洁,但完全有效且清晰 【参考方案1】:请改用Mat m1 = imread("temp.jpg")
。问题是Mat
没有释放它没有分配的内存——它是用cvLoadImage
分配的。当您将IplImage
指针指向Mat
的构造函数时,它不会复制任何内容,而是创建一个指向原始IplImage
内存的对象。
【讨论】:
以上是关于无法释放从 iplimage 创建的 mat 图像的主要内容,如果未能解决你的问题,请参考以下文章
从 IplImage 转换为 Mat 且 cvarrToMat 缺少/跳过图像数据字节