我正在尝试使用 imageio 在 jpeg2000 中转换 DICOM 图像,如下面的代码所示,oracle 文档中解释了相同的过程,但不起作用!我不明白我做错了什么。Java 高级图像 I/O 库安装到 JRE 中。
使用:可以验证支持DICOM和JPEG2000 ImageIO.getReaderFormatNames()
!ImageIO.getWriterFormatNames()
没有抛出错误,但是写入文件花费的时间太长,并且输出文件已损坏。
先感谢您...
public void convert2JPEG(File sourceFileName) throws IOException{
Iterator<ImageReader> iter = ImageIO.getImageReadersByFormatName("DICOM");
ImageReader reader = iter.next();
if(reader == null) {
log.error("Could not locate any Readers for the DICOM format image.");
return;
}
File sourceFile = new File (sourceFileName);
ImageInputStream iis = ImageIO.createImageInputStream(sourceFile);
BufferedImage bi;
try{
bi = ImageIO.read(iis);
File outputFile = new File("outputFileName");
String format = "jpeg 2000";
ImageIO.write(bi, format, outputFile);
} catch(Exception e){
log.info("ERROR: " + e);
}finally {
iis.close();
}
}