Java - Highgui.imread返回一个空矩阵

时间:2015-08-31 20:05:18

标签: java opencv

我试图用图片阅读图片 打开CV / Java中的Highgui.imread方法但它返回一个空矩阵,虽然我确保图像的路径是正确的。

public static void main(String[] args) {
            // TODO Auto-generated method stub
            System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

            File fileName1 = new File("learning_image.jpeg");
            File fileName2 = new File("test_image.jpeg");

            Mat learningImage = Highgui.imread(fileName1.getAbsolutePath(),Highgui.CV_LOAD_IMAGE_GRAYSCALE );
            Mat testImage =  Highgui.imread(fileName2.getAbsolutePath(),Highgui.CV_LOAD_IMAGE_GRAYSCALE );

            System.out.println("learningImage size (cols,rows) "+learningImage.size());
            System.out.println("testImage size (cols,rows) "+testImage.size());
            }

输出为: -

learningImage size(cols,rows)0x0

testImage大小(cols,rows)0x0

1 个答案:

答案 0 :(得分:1)

"函数imread从指定文件加载图像并返回它。如果无法读取图像(由于文件丢失,权限不正确,格式不受支持或无效),该函数返回一个空矩阵(Mat :: data == NULL)。"

由于支持jpeg,我会检查权限问题,丢失或损坏的文件。

请参阅: http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html