【问题标题】:IllegalArgumentException: Numbers of source Raster bands and source color space components do not match For a color imageIllegalArgumentException:源光栅波段和源颜色空间分量的数量不匹配对于彩色图像
【发布时间】:2013-08-21 15:23:50
【问题描述】:

当我的应用程序尝试使用 ImageIO.read() 方法读取 JPG 图像时,我遇到了这个异常。所有 jpg 文件都不会引发此异常。

我发现这个答案很有用Intersection of bands in R raster package,但它仍然将我的彩色图像转换为黑白图像。我猜这个问题的重点是正确的问题,但我希望它使我的图像保持彩色(不是黑白)。

下载图片:https://skydrive.live.com/?cid=19547371C4F3B839&id=19547371C4F3B839%21105

只要有人可以从图像中获取 BufferdImage 就足够了(不应将图像转换为灰度图像)。

如果你能回答这个问题,你就是天才 :D。 请帮忙。

【问题讨论】:

    标签: java image-processing


    【解决方案1】:

    这通常是您在 Java 无法读取 JPEG 文件时遇到的异常。虽然它们是符合标准的 JPEG,但 Java 尚未实现完整的标准。我建议在实际尝试用 Java 打开它之前,使用 ImageMagick、Irfanview 或类似的东西转换 JPEG 文件。

    您可以使用ImageJ,它可以处理大多数JPEG。

    【讨论】:

    • 感谢 Mathias 的回复。我试过这个,但我无法从这个中得到一个 BufferedImage 对象。它只提供 ToolkitImage。而且也不可能将该 ToolkitImage 转换为 BufferedImage 。因此,如果您能建议一种将我的图像转换为 BufferdImage 对象的方法,那就太好了。再次感谢。
    猜你喜欢
    • 2013-08-23
    • 2014-05-08
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多