内存不足opencv haartraining

Posted

技术标签:

【中文标题】内存不足opencv haartraining【英文标题】:Out of memory opencv haartraining 【发布时间】:2014-11-18 21:28:38 【问题描述】:

我有 30 张正片和 60 张负片。 当我尝试使用 4GB 内存和四核处理器机器执行 haartraining 时,我收到以下错误消息:

OpenCV 错误:内存不足(内存不足) 在函数 cvAlloc,cxalloc.cpp(111) 终止应用程序... 从 cvUnregisterType、cxpersistence.cpp(4933) 调用

命令是:

./opencv-haartraining -vec vector/myvector.vec -bgnegatives.txt -npos 24 -nneg 55 -mem 2048 -mode ALL -w 86 -h 150

计算机仅使用了 765 MB,但进程超过了给定的限制,并在交换中使用了大量内存,直到发生溢出。有什么建议可以解决这个问题吗?

问候

【问题讨论】:

“myvector.vec”的大小是多少? -w 86 -h 150 非常大。试试小一点的窗口。 你有 32 位操作系统吗? @VAndrei 操作系统是 64 位 谢谢@berak,真的,图片很大。 【参考方案1】:

也许你的“myvector.vec”太大了。所有这些图片都加载到 RAM 中。 尝试调整图像大小。

【讨论】:

谢谢,图像的数量和大小正在从我的计算机分配内存。 我只测试了 66 个 pos(55x55 像素)和 150 个负样本(大约 150x150)。正样本 .vec 文件只有 400kb 大小,为什么我仍然会收到“内存不足”错误?如果我减少到 20x20,我可以继续,但我想 55x55 对于我的专业应用程序会更好。知道为什么会发生此错误吗?看起来单个 malloc 想要分配大约 1GB 的内存,这是保存所有临时 haar 数据/结果所需的内存吗?

以上是关于内存不足opencv haartraining的主要内容,如果未能解决你的问题,请参考以下文章

java opencv内存不足错误如何解决?

java opencv错误内存不足和断言失败

OpenCV Haartraining

使用 OpenCV (2.4.5) 时出现内存异常

OPENCV学习笔记1_Mat 创建

利用opencv源代码和vs编程序训练分类器haartraining.cpp