Java 获取ImageReader解析DICOM图像时出错
我尝试实现一段示例代码,以从DICOM对象获取图像:Java 获取ImageReader解析DICOM图像时出错,java,dicom,Java,Dicom,我尝试实现一段示例代码,以从DICOM对象获取图像: import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.Iterator; import javax.imagei
import java.awt.image.BufferedImage;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Iterator;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
import org.dcm4che2.data.DicomObject;
import org.dcm4che2.imageio.plugins.dcm.DicomImageReadParam;
import org.dcm4che2.io.DicomOutputStream;
....
public static BufferedImage getPixelDataAsBufferedImage(byte[] dicomData)
throws IOException {
ByteArrayInputStream bais = new ByteArrayInputStream(dicomData);
BufferedImage buff = null;
Iterator<ImageReader> iter = ImageIO.getImageReadersByFormatName("DICOM");
ImageReader reader = (ImageReader) iter.next();
DicomImageReadParam param = (DicomImageReadParam) reader.getDefaultReadParam();
ImageInputStream iis = ImageIO.createImageInputStream(bais);
reader.setInput(iis, false);
buff = reader.read(0, param);
iis.close();
if (buff == null) {
throw new IOException("Could not read Dicom file. Maybe pixel data is invalid.");
}
return buff;
}
有人知道怎么回事吗???我在Windows7 64上使用JDK7 64给定的异常表明您在运行时依赖Java高级映像(JAI)。您需要标准JDK未提供的其他JAR 以下是JAI和JAI ImageIO工具的安装说明:
您可以在此处下载安装程序:
安装JAI后,需要在项目类路径中包含提取的JAR 专家 如果使用Maven,JAI和JAI ImageIO工具可以在没有安装程序的情况下用于您的项目:
<dependency>
<groupId>com.sun.media</groupId>
<artifactId>jai_imageio</artifactId>
<version>1.1</version>
</dependency>
com.sun.media
jai_imageio
1.1
您是否在Java项目中使用Maven?我在NetBeans 7.xThanks中推荐了JavaProject-我下载了jai-1_1_3-lib-windows-i586-jdk,但当我尝试安装它时,出现了类似“需要jdk 1.3或更高版本”的错误。怎么了???我已经安装了jai-1_1_3-lib-windows-i586,并将安装了jai:jai_编解码器、jai_core和mlibwrapper的3个JAR添加到我的项目库中,但它并没有解决我的问题-我仍然有例外。任何想法…感谢更新工作解决方案。我将添加一个链接到jai_imageio.jar
下载。
<dependency>
<groupId>com.sun.media</groupId>
<artifactId>jai_imageio</artifactId>
<version>1.1</version>
</dependency>