Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ImageReader不返回任何图像_Java_Image Processing_Metadata - Fatal编程技术网

Java ImageReader不返回任何图像

Java ImageReader不返回任何图像,java,image-processing,metadata,Java,Image Processing,Metadata,我整天都在阅读SO和Oracle,学习如何从.jpg图像中提取元数据(提取嵌入在am图像中的GPS数据)。我所处的环境对于第三方库没有太多选择 我偶然发现了ImageIO、ImageReader和iimetadata的组合,但我遇到了问题: File file = new File("/home/djtorrey/Pictures/test.jpg"); System.out.println(file.isFile()); ImageInputStream iis = I

我整天都在阅读SO和Oracle,学习如何从.jpg图像中提取元数据(提取嵌入在am图像中的GPS数据)。我所处的环境对于第三方库没有太多选择

我偶然发现了ImageIO、ImageReader和iimetadata的组合,但我遇到了问题:

    File file = new File("/home/djtorrey/Pictures/test.jpg");
    System.out.println(file.isFile());
    ImageInputStream iis = ImageIO.createImageInputStream(file);

    Iterator readers = ImageIO.getImageReadersByFormatName("jpg");
    ImageReader reader = (ImageReader)readers.next();

    reader.setInput(iis,true);
    int value = reader.getNumImages(false);
    System.out.println(value);
这就是我现在正在测试的代码。如您所见,我正在创建一个指向图像的文件对象,验证它是否将其视为文件(确实如此),然后基于该文件创建ImageInputStream。通过将文件推入BuffereImage对象并从中读取数据,我已经验证了它没有损坏

我获取jpg的ImageReader,将ImageReader输入设置为ImageInputStream,然后检查它看到的图像数量

我应该看到1代表我指向的一个图像,但它一直返回-1,表示没有图像


BLUF:在上面的代码中,我做错了什么,它没有正确地看到我指向的图像?

返回值-1只是表示需要搜索来确定流中剩余图像的数量:

返回值-1只是表示需要搜索来确定剩余图像的数量在流中:

reader.getNumImages(true)是否返回不同的值?返回值-1表示需要进行搜索以确定流中剩余图像的数量:@Gilfoy谢谢,我会查看它quick@Gilfoy看来我错过了那个小道消息,好像有用。如果你把它作为一个答案,我会非常高兴地相信你确实
reader.getNumImages(true)
返回了一个不同的值?返回值-1只是表示需要搜索来确定流中剩余图像的数量:@Gilfoy谢谢,我会检查它quick@Gilfoy看来我错过了那条新闻,它似乎起作用了。如果你能回答我的问题,我很乐意相信你