我有一个目录和子目录与图像的列表。我使用JavaCV来读取所有图像,并使用cvShowImage来显示这些图像。我正在使用listFilesForFolder函数读取文件。我的问题是,这些文件夹中的一些图像无效(损坏)。因此,我得到Opencv异常错误:
OpenCV Error: Null pointer () in cvReleaseImage, file ..\..\..\..\opencv\modules\core\src\array.cpp, line 2983
Exception in thread "main" java.lang.RuntimeException: ..\..\..\..\opencv\modules\core\src\array.cpp:2983: error: (-27) in function cvReleaseImage
at org.bytedeco.javacpp.opencv_core.cvReleaseImage(Native Method)如果图像是否有效(损坏),为了继续读取所有图像的for-循环,我如何在代码中签入?我使用以下函数来读取图像:
public IplImage openImage(String name) {
IplImage img = cvLoadImage(name);
cvShowImage("hello", img);
cvWaitKey();
cvReleaseImage(img);
return img;
}当我运行这个程序时,我在cvReleaseImage(img)行中遇到了问题。
发布于 2015-01-07 11:11:21
您必须检查图像是否为null。
public IplImage openImage(String name) {
IplImage img = cvLoadImage(name);
if(img != null)
{
cvShowImage("hello", img);
cvWaitKey();
cvReleaseImage(img);
}
return img;
}https://stackoverflow.com/questions/27817841
复制相似问题