由于赵老师要求读取DICOM图片,几经周折找到这个东东。
编译工作:下载其CMake版本,用CMake编译好。然后打开VS,在项目的属性设置里将C/C++->代码生成中的”运行时库“设为多线程调试DLL/MDd,以配合MFC、.NET等运行库。如过不改运行时库,默认的为多线程调试/MTd,仅能支持控制台应用程序或者静态库的MFC等。
使用:在VS下的用户应用程序中,添加DCMTK的include目录和lib目录。对于仅使用DICOMImage类读取DICOM图像数据,可使用头文件
#include "DCMTK\config\osconfig.h"
#include "dcmtk\dcmdata\dctk.h"
#include "DCMTK\dcmimgle\dcmimage.h"
链接库文件(注意先后顺序)
ofstd.lib
dcmdata.lib
netapi32.lib
wsock32.lib
dcmimgle.lib
dcmimage.lib
如遇到压缩型JPEG保存的DICOM图片,需使用DJDecoderRegistration::registerCodecs();注册解压算法,然后再读取DICOM图片就能读出来了。用完后用DJDecoderRegistration::cleanup();释放内存。注意用这个的时候需要
#include"dcmtk/dcmjpeg/djdecode.h"
2个头文件,以及
ijg8.lib
ijg12.lib
ijg16.lib
dcmjpeg.lib
4个lib
以上