检查图像是否有效(损坏)javaCV

检查图像是否有效(损坏)javaCV,java,image,opencv,Java,Image,Opencv,我有一个目录和带有图像的子目录列表。我使用JavaCV读取所有图像,并使用cvShowImage显示这些图像。我正在使用listFilesForFolder函数读取文件。我的问题是这些文件夹中的某些图像无效(已损坏)。因此,我得到了Opencv异常错误: OpenCV Error: Null pointer () in cvReleaseImage, file ..\..\..\..\opencv\modules\core\src\array.cpp, line 2983 Exception i

我有一个目录和带有图像的子目录列表。我使用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)行出现问题。

您必须检查图像是否为空

public IplImage openImage(String name) {

    IplImage img = cvLoadImage(name);
    if(img != null)
    {
        cvShowImage("hello", img);
        cvWaitKey();
        cvReleaseImage(img);
    }
    return img;
}

您必须检查图像是否为空

public IplImage openImage(String name) {

    IplImage img = cvLoadImage(name);
    if(img != null)
    {
        cvShowImage("hello", img);
        cvWaitKey();
        cvReleaseImage(img);
    }
    return img;
}

如果img有效,我想返回IplImage图像。如何在不返回任何内容的情况下退出并继续主函数中的for循环?如果img有效,我想返回IplImage image。如何在不返回任何内容的情况下退出并继续主函数中的for循环?