2013-02-13 46 views
1

单击按钮时运行... 输出....你能帮我解决我的项目上的这个错误吗?

java.lang.OutOfMemoryError 
OpenCV Error: Insufficient memory (Failed to allocate 6220800 bytes) in unknown function, file ..\..\..\src\opencv\modules\core\src\alloc.cpp, line 52 
Exception in thread "Thread-4" java.lang.RuntimeException: ..\..\..\src\opencv\modules\core\src\alloc.cpp:52: error: (-4) Failed to allocate 6220800 bytes  
    at com.googlecode.javacv.cpp.opencv_core.cvCloneImage(Native Method) 
    at com.googlecode.javacv.cpp.opencv_core$IplImage.clone(opencv_core.java:521) 
    at vidtracking.MainView.backgroundSubtraction(MainView.java:666) 
    at vidtracking.MainView.access$1000(MainView.java:32) 
    at vidtracking.MainView$8.run(MainView.java:461) 
+1

共享代码将更有助于回答此问题。 – Naved 2013-02-13 05:41:03

+0

看起来像您需要在您的JVM中为该项目分配更多内存。 – KyelJmD 2013-02-13 05:43:02

+0

你是从eclipse运行它吗? – zengr 2013-02-13 05:45:21

回答

0
java.lang.OutOfMemoryError OpenCV Error: Insufficient memory 

看来你要装载大文件到内存中。尝试increase memory using -Xms and -Xmx settings

如果你有更多的内存比文件大小,那么可能的原因可能是一些内存泄漏。

+0

是这个文件输入太大了,所以这让我重新安装我的netbeans或opencv?你能给我解决方案吗? – user2067185 2013-02-28 16:47:45

0

您需要分配至少6220800字节(即〜6mb)。
运行这些JVM设置您的Java应用程序(分配更多的堆大小):

java myapp.jar -Xms10m -Xmx10m 

为Eclipse:

Windows Preferences -> java -> Installed JREs: 
Select JRE/JDK you are using 
Click Edit 
Set VM arguments: -Xms10m -Xmx10m 
Start your app again. 
1
java.lang.OutOfMemoryError OpenCV Error: Insufficient memory 

此异常是因为抛出。 OutOfMemoryError

当Java虚拟机由于存储器内存不足而无法分配对象时,垃圾收集器不再提供任何内存。 OutOfMemoryError对象可以由虚拟机构造,就像抑制被禁用和/或堆栈跟踪不可写一样。在这种情况下

常见的解决方案是:

  1. 优化你的代码,使用较少的内存和/或重用的对象,而不是建立新的因此减少的时间垃圾收集器运行的数量。如果你创建了很多临时对象(例如循环),你应该尝试重用它们。
  2. 使用Xmx开关增加堆大小。 -Xmx512m(通过使用JXM和Jconsole连接到JVM,可以帮助您找到正确的值)。
  3. 禁用错误检查使用-XX:-UseGCOverheadLimit 第三种方法只会导致另一种错误消息 - 堆相关的java.lang.OutOfMemoryError。
  4. -XX:+HeapDumpOnOutOfMemoryError添加到JAVA_OPTS,并使用IBM Memory Analyzer(IBM Support Assistant Workbench的一部分)查找内存泄漏(请参阅参考资料)来分析转储。

只适用于netbeans。该项目

正确的方法是右击并选择“属性”,然后“运行”;您可以在其中适当地设置VM选项(例如-Xmx256m)。它应该是这个样子:

enter image description here

0

其JVM崩溃的症状或在JVM的资源分配没有记忆。尝试调整您的程序或增加JVM内存