dcmtk example
时间: 2023-07-24 22:30:07 浏览: 126
DCMTK是一个开源的DICOM工具包,可用于处理医学图像和相关信息。以下是一个DCMTK的例子:
```c++
#include "dcmtk/config/osconfig.h"
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmimgle/dcmimage.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
DicomImage *image = new DicomImage("test.dcm");
if (image != NULL && image->getStatus() == EIS_Normal)
{
OFString pixelData;
if (image->getOutputData(pixelData, 0, 0).good())
{
cout << "Width: " << image->getWidth() << endl;
cout << "Height: " << image->getHeight() << endl;
cout << "Pixel Data: " << pixelData.c_str() << endl;
}
}
else
{
cerr << "Error: cannot load DICOM image (" << DicomImage::getString(image->getStatus()) << ")" << endl;
}
delete image;
return 0;
}
```
这个例子演示了如何使用DCMTK读取DICOM文件并获取图像的基本信息。在这个例子中,我们首先创建了一个DicomImage对象,并将DICOM文件的路径传递给它。然后,我们检查对象是否已成功创建,并且图像的状态是否为EIS_Normal。如果图像状态正常,我们可以使用getOutputData()方法获取像素数据,并使用getWidth()和getHeight()方法获取图像的宽度和高度。最后,我们打印这些信息并释放DicomImage对象。
阅读全文