gpt4 book ai didi

javax.imageio.IIOException : Invalid icc profile: duplicate sequence numbers

转载 作者:行者123 更新时间:2023-11-30 03:18:09 26 4
gpt4 key购买 nike

我正在尝试读取 JPEG 文件,但是当我尝试这样做时:

    InputStream input = new URL("http://s4.postimg.org/h1c72546l/invalid_icc_profile.jpg").openStream();
try {
ImageIO.read(input);
System.out.println("Image loaded.");
} catch (Throwable e) {
e.printStackTrace();
} finally {
input.close();
}

我收到以下异常:

javax.imageio.IIOException: Invalid icc profile: duplicate sequence numbers
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImageHeader(Native Method)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readNativeHeader(JPEGImageReader.java:604)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly(JPEGImageReader.java:342)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage(JPEGImageReader.java:476)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader(JPEGImageReader.java:597)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1054)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:1034)
at javax.imageio.ImageIO.read(ImageIO.java:1448)
at javax.imageio.ImageIO.read(ImageIO.java:1352)

仅此图像出现此异常:http://s4.postimg.org/h1c72546l/invalid_icc_profile.jpg

我测试了JDK 7和8,都有错误。您对如何阅读图像有什么建议吗?可以调整icc配置文件吗?

最佳答案

如错误消息所示,JPEG 文件中的 ICC_PROFILE 段包含重复的序列号。这意味着编写它的软件在某种程度上被破坏了。但是,图像数据应该仍然可读,即使颜色看起来可能不完全符合其应有的样子。

由于 JFIF(JPEG 文件交换格式)的段大小有限,因此大型 ICC 配置文件必须分割为多个段。该规范规定 ICC 配置文件应存储在多个 APP2 段中,并且每个段必须以空终止字符串 ICC_PROFILE 开头,后跟单个无符号字节序列数量和总数。

我的TwelveMonkeys ImageIO JPEG plugin即使 ICC 配置文件段损坏,也能够读取您的图像。它将发出警告(如果您已经注册了 IIOReadWarningListener),告诉您 ICC 配置文件将被忽略。我已经测试过,它可以很好地处理您的 JPEG 文件。您不需要更改任何代码,只需添加所需的依赖项(来自上面的链接),它就应该可以工作。

您可以下载最新的TwelveMonkeys ImageIO plugins from the Maven repository .

<小时/>

如果您知道自己在做什么,您也可以使用十六进制编辑器修复配置文件的索引/计数。 :-) 但根据经验,此类图像的配置文件可能与图像的颜色数据不匹配,因此您可能不走运。

关于javax.imageio.IIOException : Invalid icc profile: duplicate sequence numbers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32023809/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com