[英]Problems writing jpeg2000 using imageio
我正在嘗試使用imageio像下面的代碼一樣在jpeg2000中轉換DICOM圖像,在oracle文檔中解釋了相同的步驟,但是不起作用! 我不明白我在做什么錯。 Java Advanced Image I / O庫已安裝到JRE中。
使用: ImageIO.getReaderFormatNames()
和ImageIO.getWriterFormatNames()
可以驗證是否支持DICOM和JPEG2000!
沒有引發任何錯誤,但是寫入文件花費的時間太長,並且輸出文件已損壞。
先感謝您...
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();
}
}
據我所知,JAI Image IO不支持DICOM,但支持JPEG2000。 請注意,沒有Windows 64位版本的JAI(這可能對您也是一個問題)。 我很驚訝它沒有給出任何錯誤。
但是,我同意Anders的觀點,轉換DICOM的最佳方法是使用工具箱。 我建議使用DCM4CHE2( http://www.dcm4che.org/confluence/display/d2/dcm4che2+DICOM+Toolkit )。 他們有許多命令行工具可以完全按照您的建議進行操作,還有Dicom [Input / Output] Stream類用於讀寫DICOM。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.