我正在使用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