我正在使用Java(在Windows上)中的JavaCv和OpenCv 2.3。有时会出问题,而OpenCv会引发错误,例如:
使用以下Java stacktrace:
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时,有什么可能导致发生的事情?
元:以前还询问有关捕获/跳过Microsoft Visual C++运行时错误对话框的问题。但是,我意识到我在问两个完全不同的问题,然后将该部分迁移到this问题。
最佳答案
如果使用IplImage
分配IplImage.create()
,则不应手动调用cvReleaseImage()
。 IplImage.release()或让垃圾收集器为您取消分配...