下面链接是关于DCMTK读dcm文件 ,多帧Dcm图片的读取与拆分存储
https://blog.csdn.net/m_buddy/article/details/53378627
我是想得到病人的名字:摘取了部分代码,还没有亲测,等我好了,来更新!
头文件:
#include "dcmtk/config/osconfig.h"
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmdata/dcistrmf.h"
DcmFileFormat fileformat;
OFCondition oc = fileformat.loadFile(filepath.c_str()); //读取Dicom图像
if (!oc.good()) //判断Dicom文件是否读取成功
{
std::cout << "file Load error" << std::endl;
return false;
}
DcmDataset *dataset = fileformat.getDataset(); //得到Dicom的数据集
E_TransferSyntax xfer = dataset->getOriginalXfer(); //得到传输语法
OFString patientname;
dataset->findAndGetOFString(DCM_PatientName, patientname); //获取病人姓名
unsigned short bit_count(0);
dataset->findAndGetUint16(DCM_BitsStored, bit_count); //获取像素的位数 bit
OFString isRGB;
dataset->findAndGetOFString(DCM_PhotometricInterpretation, isRGB); //DCM图片的图像模式
unsigned short img_bits(0);
dataset->findAndGetUint16(DCM_SamplesPerPixel, img_bits); //单个像素占用多少byte