代码:
原博客:https://blog.csdn.net/m_buddy/article/details/51882584。
#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
//OPencv
#include <opencv2/opencv.hpp>
//DCMTK
#include "dcmtk/config/osconfig.h"
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmimgle/dcmimage.h"
#pragma comment(lib, "Netapi32.lib")
#pragma comment(lib, "ws2_32.lib")
int main(int argc, _TCHAR* argv[])
{
std::string file_path= "File0001.dcm"; //dcm文件
DicomImage *img = new DicomImage(file_path.c_str());
if (img->isMonochrome() && img->getStatus() == EIS_Normal && img != NULL)
{
if (img->isMonochrome())
{
int nWidth = img->getWidth(); //获得图像宽度
int nHeight = img->getHeight(); //获得图像高度
Uint16 *pixelData = (Uint16*)(img->getOutputData(16)); //获得16位的图像数据指针
std::cout << nWidth << ", " << nHeight << std::endl;
if (pixelData != NULL)
{
IplImage *srcImage = cvCreateImageHeader(cvSize(nWidth, nHeight), IPL_DEPTH_16U, 1);
cvSetData(srcImage, pixelData, nWidth*sizeof(unsigned short));
cv::Mat dst(srcImage);
cv::imshow("image1", dst);*/
}
}
}
cv::waitKey(0);
delete img;
return 0;
}