JavaCv/OpenCv 错误 : what does it mean?

标签 java c++ opencv runtime-error

我正在使用 JavaCvOpenCv 2.3来自 Java(在 Windows 上)。偶尔会出现问题,OpenCv 会抛出错误,例如:

OpenCV Error: Bad argument (unrecognized or unsupported array type) in unknown function, file ..\..\..\..\ocv\opencv\modules\core\src\array.cpp, line 995

使用以下 Java 堆栈跟踪:

at com.googlecode.javacv.cpp.opencv_core.cvReleaseImage(Native Method)
at com.googlecode.javacv.cpp.opencv_core$IplImage$ReleaseDeallocator.deallocate(opencv_core.java:492)
at com.googlecode.javacpp.Pointer$DeallocatorReference.clear(Pointer.java:127)
at com.googlecode.javacpp.Pointer.deallocator(Pointer.java:171)
at com.googlecode.javacpp.Pointer.init(Pointer.java:61)
at com.googlecode.javacv.cpp.opencv_core$CvSize.allocate(Native Method)
at com.googlecode.javacv.cpp.opencv_core$CvSize.<init>(opencv_core.java:2152)
at com.googlecode.javacv.cpp.opencv_core.cvSize(opencv_core.java:2170)

即它发生在我尝试取消分配图像时。由于我对 C++ 和 OpenCv 内部知识的了解不多,所以我想在这里问一下。

错误信息是什么意思?在释放 IplImage 时是否有任何可能导致发生的事情?


Meta:之前的问题还询问了有关捕获/跳过 Microsoft Visual C++ 运行时错误对话的问题。然而,我意识到我问的是两个完全不同的问题,并将那部分迁移到 this问题。

最佳答案

如果您使用 IplImage.create() 分配您的 IplImage,则不应对其手动调用 cvReleaseImage()。 <- 这很可能是错误的原因。要么调用 IplImage.release(),要么让垃圾收集器在将来的某个时候为您释放它……

关于JavaCv/OpenCv 错误 : what does it mean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6977158/

相关文章:

python - 类型错误 : unsupported operand type(s) for +: 'numpy.ndarray' and 'str'

java - 切木棍: Hackerrank warmup challenge

javascript - 将信息从 c++ cgi 脚本传递到 javascript 标签的问题

c++ - 如果一个程序在另一个实例已经运行时编译,会发生什么情况?

c++ - 如何查看链接库中函数背后的代码,例如打开简历

image - 你能帮我使用任意大小的字体,例如 Times New Roman、Tahoma

java - 如何在另一个/下一个 Activity 中显示微调器选择的值作为 android 中的微调器本身?

java - Google Cloud Endpoints Framework for Java 未在输入对象中设置值

java - 确定按钮不起作用

c++ - 在成员函数中保留对对象本身的引用