opencv 内存不足 我在运行video demo(视频图像运动目标检测)时出现了“内存不足”的现象,请问各位大神
opencv内存不足我在运行videodemo(视频图像运动目标检测)时出现了“内存不足”的现象,请问各位大神指教啊?因为要用无压缩的avi格式的视频,难道是视频太大了么...
opencv 内存不足 我在运行video demo(视频图像运动目标检测)时出现了“内存不足”的现象,请问各位大神指教啊?因为要用无压缩的avi格式的视频,难道是视频太大了么?谢谢了。。。
展开
展开全部
请仔细检查每帧图像检测做完之后有没有释放内存,while里面开辟了多少次内存就得释放多少次,不然每帧图像都开辟很多内存,视频稍微大点就会造成内存不足。
追问
具体怎么操作呢?是每个操作后都要释放一次内存么?有没有释放内存的代码可以参考?谢谢
追答
并不需要每个操作都释放一次内存,在单帧图像检测完毕后释放内存,具体操作的话opencv都有对应的释放内存函数。比如:
cvCreateImage----cvReleaseImage
cvCreateMat ----cvReleaseMat
cvCreateMemStorage-----cvReleaseMemStorage
cvCreateCameraCapture----cvReleaseCapture等等
注意有多少个create就对应多少个Release
为避免一个内存多次释放的情况,最好采用下面方式释放内存
if(image)//image 为cvcreateimage出来的
{
cvreleaseimage(&image);
image = null;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询