-1

如何将.dcm(dicom)图像转换为.bmp格式。

我已经尝试过了,但它对我不起作用。

000000.dcm是医学肺部图像(大小 6 MB)

 dcmimg = dicomread('000000.dcm');
>> imshow(dcmimg);

读入 DCM 图像dcmimg

imwrite(dcmimg, 'myfile.bmp');

得到错误:

Error using writebmp (line 15)
Expected X to be one of these types:

  logical, uint8, single, double

Instead its type was uint16.

Error in imwrite (line 477)
        feval(fmt_s.write, data, map, filename, paramPairs{:});

我不理解这些错误,出了什么问题。帮帮我,谢谢。

4

1 回答 1

1

Dicom 使用无符号 16 位整数。如错误消息所述,写入 .bmp 文件的函数需要不同的数据类型。这表明以下应该起作用:

imwrite(double(dcmimg), 'myFile.bmp');

通过将数据类型显式转换为double您应该摆脱错误。实际上single可能就足够了......它也可以表示 16 位整数而不会损失精度。

于 2013-11-09T05:09:22.050 回答