【问题标题】:How to read a jp2 image into BufferedImage in java如何在java中将jp2图像读入BufferedImage
【发布时间】:2014-12-27 17:01:45
【问题描述】:

我想将 jp2 图像读入 java 中的 BufferedImage。我安装了 Java Advanced Imaging JAI。这是我的代码:

RenderedOp img = JAI.create("FileLoad",  "/home/dhoha/Downloads/BreastCancer.jp2");
  BufferedImage image =  img.getAsBufferedImage();

但是,我收到以下错误:

Exception in thread "main" java.lang.RuntimeException: - Unable to render RenderedOp for this operation.
    at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:827)
    at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
    at javax.media.jai.RenderedOp.getColorModel(RenderedOp.java:2242)
    at javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2498)
    at javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2546)
    at testJai.test.main(test.java:19)

我不明白为什么 JAI 库无法读取 jp2 图像,尽管此操作对于 bmp 图像是可行的..

请给点提示???

【问题讨论】:

  • 您拥有哪个版本的 JAI?阅读此stackoverflow.com/a/13167748/1737819
  • 是的,我已经安装了旧版本的 JAI 1.1,因为 JAI 1.3 不支持 jpeg 2000 图像......目前我正面临这个问题。有什么提示吗?
  • 导入 javax.imageio.ImageIO;导入 java.util.Arrays;公共类 ImageWriter { public static void main(String[] args) { System.out.println(Arrays.deepToString(ImageIO.getReaderFormatNames())); System.out.println(Arrays.deepToString(ImageIO.getReaderFileSuffixes())); System.out.println(Arrays.deepToString(ImageIO.getReaderMIMETypes()));它是否将 jp2 列为文件类型?
  • 是的,jp2 就在那里。有什么提示吗?
  • 很遗憾,没有提示...

标签: java image-processing jpeg2000


【解决方案1】:

使用以下内容:

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;


InputStream ism=new FileInputStream("/home/dhoha/Downloads/BreastCancer.jp2");
BufferedImage  buffImg  = ImageIO.read(ism);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    相关资源
    最近更新 更多