.net 内存不足,无法继续执行Visual Studio 2010程序

.net 内存不足,无法继续执行Visual Studio 2010程序,.net,visual-studio,opencv,out-of-memory,emgucv,.net,Visual Studio,Opencv,Out Of Memory,Emgucv,我正在运行我的计算机视觉项目,该项目是在Visual Studion 2010(C#)的EmguCV(.Net Wrapper to the OpenCV)中实现的。它是从图像中计算我的特征以进行训练,并将它们保存在浮点数组中。运行约一天后,出现以下错误: OutOfMemoryException was unhandled Insufficient memory to continue the execution of the program 因为我的训练集太大了, 如何在阵列中保存这些功能

我正在运行我的计算机视觉项目,该项目是在Visual Studion 2010(C#)的EmguCV(.Net Wrapper to the OpenCV)中实现的。它是从图像中计算我的特征以进行训练,并将它们保存在浮点数组中。运行约一天后,出现以下错误:

OutOfMemoryException was unhandled
Insufficient memory to continue the execution of the program
因为我的训练集太大了, 如何在阵列中保存这些功能?考虑到我得到这个错误的程序不到一半,我的数组将有更多的数据


我的数组大小现在是{float[199897,88]},我得到这个错误是正常的吗

你说现在是17.5米。如何以及何时调整它的大小?你的代码看起来像什么?你的记忆力是否持续增长到那个程度?这是显而易见的。问题不在于数据数组。确保您的内存管理是健壮的。由于EmguCV使用非托管资源,因此仔细检查您的实现是否缺少对
Dispose()
的调用是非常重要的。此外,如果您不断分配新的大型数据数组(例如,
byte[]data=new byte[1000000]
),您的LOH(大型对象堆)会受到内存压力,因此会引发异常。