问题描述
|
我正在使用GDCM读取DICOM图像。有没有一种简单的方法可以使用GDCM读取dicom文件,然后将其转换为Java BufferedImage?到目前为止,我有以下内容
String filename = \"C:\\\\test.dcm\";
gdcm.ImageReader reader = new gdcm.ImageReader();
reader.SetFileName(filename);
reader.Read();
gdcm.Image image = reader.Getimage();
BufferedImage bufferedImage = new BufferedImage((int)image.GetRows(,(int)image.GetColumns(),BufferedImage.TYPE_USHORT_GRAY);
// How do I populate bufferedImage?;
谁能告诉我我走的路是否正确以及如何完成此示例。
谢谢
解决方法
您可以使用以下方法检索像素的原始缓冲区:
byte[] str1 = new byte[ image.GetBufferLength()];
image.GetBuffer( str1 );
参见完整示例:
http://gdcm.sourceforge.net/html/ScanDirectory_8java-example.html
要么
https://sourceforge.net/p/gdcm/gdcm/ci/master/tree/Examples/Java/ScanDirectory.java
甚至
https://github.com/malaterre/GDCM/blob/master/Examples/Java/ScanDirectory.java