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

09-25 15:04