前段時間在研究如何使用dcm4che3獲取dicom的縮略圖。
過程很曲折,因爲網上資料很少,摸着石頭過河。其實是很簡單的。
其實使用ImageIO直接將dicom文件讀入BufferedImage緩衝圖像流中,然後在按照設置的圖片大小寫出到指定的格式的圖片。下面是代碼:
public static boolean getThumbnails(String url) {
Boolean bool = false;
File f = new File(url);
try {
BufferedImage artwork_Buffered = ImageIO.read(f);
BufferedImage Thumbnails_Buffered = new BufferedImage(296, 296,
BufferedImage.TYPE_INT_RGB);
Thumbnails_Buffered.getGraphics().drawImage(artwork_Buffered, 0, 0,
296, 296, null);
File minifile = new File("G:/DicomImage/mini/M_"+f.getName()
+ ".bmp");
ImageIO.write(Thumbnails_Buffered, "bmp", minifile);
bool = true;
System.out.println("轉換完成!");
} catch (Exception e) {
System.out.println(e);
}
return bool;
}
值得注意的一點是,有些dicom文件使用了jpeg壓縮,這時需要安裝ImageIO的一個庫jai_imageio_for_win32。下載地址是:http://download.csdn.net/detail/zssureqh/8953227
安裝完成後就可以直接處理壓縮後的dicom文件了。
過程中得到了zssure(dicom方面的大神)的大力幫助,不勝感激。