如何在matlab中显示dicom图像?

时间:2012-03-21 14:13:54

标签: matlab image-processing dicom

我想在matlab dicomread

中询问这个函数

示例:

a = dicomread ('m.dcm');
imshow(a)

图像显示在屏幕上,但它非常暗......我想知道它是黑暗而不正常。 我检查了不同的dicom图像,但问题仍然存在。 我希望你能帮助我 提前谢谢。

4 个答案:

答案 0 :(得分:9)

如果您正在处理单色图像,可以按如下方式在最小和最大像素值之间设置线性缩放:

img = dicomread('filename');
imshow(img, [minAllowedPixValue maxAllowedPixValue]);

或者,您可以在完整动态范围内显示图像:

imshow(img, []);

答案 1 :(得分:4)

我认为您需要将图像颜色图与数据一起读取,然后将其传递给IMSHOW:

[a, amap] = dicomread ('m.dcm');
imshow(a,amap)

答案 2 :(得分:0)

dicomread会返回一个多波段图片。

尝试

a = dicomread ('m.dcm');
figure();imshow(a(:,:,:,1));

答案 3 :(得分:0)

尝试

im = dicomread('image.dcm');

im = im2double(im); % this line to convert from uint16 to double

im = mat2gray(im); % this line to put the data in range [0,1]

figure;imshow(im);