0

我需要一些有关GDCM的帮助。

几天来,我一直在尝试从 DICOM 文件中获取像素数据。有很多方法可以做到这一点……我决定使用 GDCM。我下载了他们的库并尝试获取这样的像素数据:

#include "gdcmFileHelper.h"
#include "gdcmFile.h"

int main( int argc, char* argv[] )
{
   gdcm::File *f1 = new gdcm::File();
   f1->SetFileName( 'test.dcm' );
   f1->Load();   
   gdcm::FileHelper *fh = gdcm::FileHelper::New(f1);
   unsigned int *imageData = fh->GetImageDataRaw();
   unsigned int imageDatasize = fh->GGetImageDataRawSize();
   return 0;
}  

但是,我gdcmFileHelper.h在他们的头文件和库列表中没有......所以我试过这样:

#include "gdcmImageReader.h"
#include "gdcmImage.h"

int main(int argc, char *argv[])
{
  gdcm::ImageReader reader;
  reader.SetFileName( filename );
  const gdcm::Image &image = reader.GetImage();
  return 0;
}

我怎样才能以这种方式获取像素数据?或者..我在哪里可以得到gdcmFileHelper.h...

4

1 回答 1

1

您必须调用image.GetBuffer(),例如参见 PIL <-> GDCM 绑定:

转换PIL.py

您的第一个示例不起作用,它使用已被 AFAIK 放弃的 GDCM 1.x。

于 2013-06-24T15:52:29.120 回答