DCMTK:DCM文件转QImage
来源:互联网 发布:查找数组最大值最小值 编辑:程序博客网 时间:2024/06/09 14:55
代码如下,暂做记录
QImage *image = 0;///register RLE decompression codecsDcmRLEDecoderRegistration::registerCodecs(OFFalse, OFTrue);/// register JPEG decompression codecsDJDecoderRegistration::registerCodecs();DcmFileFormat *fileFormat = new DcmFileFormat();OFCondition condition = fileFormat->loadFile("test.dcm");if(!condition.good()) { qDebug()<<"DcmConvert::set file fail:"<<endl; return;}else { QImage *image = 0; DcmDataset * dset = fileFormat->getDataset(); DicomImage *dcmImage = new DicomImage(m_fileFormat, dset->getOriginalXfer(), CIF_MayDetachPixelData); if (dcmImage != NULL) { if(dcmImage->getStatus() == EIS_Normal) { dcmImage->setNoDisplayFunction(); dcmImage->hideAllOverlays(); dcmImage->setNoVoiTransformation(); int width = dcmImage->getWidth(); int height = dcmImage->getHeight(); ulong size = width * height; if(dcmImage->isMonochrome()) { uchar *data = new uchar[size]; dcmImage->setMinMaxWindow(); dcmImage->getOutputData(data, size, 8); image = new QImage(data, width, height, 8, QImage::Format_Mono); } else { size = size * 4; uchar *data = new uchar[size]; uchar* pixelData = (uchar *)(dcmImage->getOutputData(8)); unsigned long y = 0; for(unsigned long x = 0; x < size; x+=4) { data[x] = pixelData[y]; //R data[x+1] = pixelData[y+1]; //G data[x+2] = pixelData[y+2]; //B data[x+3] = 0xFF; //Alpha y += 3; } image = new QImage(data, width, height,QImage::Format_RGBA8888); } else { qDebug() << "Error: cannot load DICOM image (" << DicomImage::getString(dcmImage->getStatus()) << ")" << endl; } delete dcmImage; dcmImage = 0; } }}
0 0
- DCMTK:DCM文件转QImage
- DCMTK:单张jpg、bmp图像转dcm文件
- DCMTK:带有多张图片的dcm文件转成多张QImage与多张图片添加到一个dcm文件
- DCMTK 开源库的学习笔记2:直接操作dcm文件中像素数据的尝试
- 使用dcmtk库读取.dcm文件并获取信息+使用OpenCV显示图像
- Windows打开dcm文件、dcm文件批量转其它图片文件格式
- Windows打开dcm文件、dcm文件批量转其它图片文件格式
- DCMTK开源库的学习笔记1:将DCM文件保存成BMP文件或数据流(即数组)
- DCMTK开源库的学习笔记1:将DCM文件保存成BMP文件或数据流(即数组)
- Dcm转换成bmp或QImage
- dcm文件转jpg或者bmp
- dcm文件编程
- DCM
- DCM示例文件下载网站
- DCMTK开源库的学习笔记4:利用ini配置文件对dcm影像进行归档
- 利用DCMTK将DCM图像像素数据转换为Mat数据
- DCMTK
- matlab 将dcm文件转换为raw
- pAdTy_-7 管理活动的生命周期
- Zigbee网关 Zstack增加串口功能1-修改底层驱动MT/MT_UART.c
- 昂贵的聘礼
- extjs 4.2 学习笔记(一) 从“Hello World”开始
- textarea高度自适应
- DCMTK:DCM文件转QImage
- 编译器架构的王者LLVM——(7)函数的翻译方法
- 用户ID
- 统计表记录行数
- CUPS让Linux打印变得更轻松(转)
- android签名
- MFC中用户界面元素更新原理(UPDATE_COMMAND_UI)
- 聚类(clustering)与分类(Classification)的区别
- Julia: save 与 @save