如何在Matlab中显示DICOM图像?

9

我想询问matlab中的这个函数dicomread

例子:

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

屏幕上显示的图像非常暗,我想知道为什么它是暗的而不是正常的。 我尝试了不同的DICOM图像,但问题仍然存在。 希望你能帮助我,谢谢。

4个回答

10

如果你处理的是黑白图像,可以按照以下方式设定最小和最大像素值之间的线性缩放:

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

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

imshow(img, []);

5

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

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

0

dicomread 返回一个多波段图像。

尝试

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

@user-x,你能发一下图片吗? - Andrey Rubshtein

0

尝试

im = dicomread('image.dcm');

im = im2double(im); % 这行代码将 uint16 类型转换为 double 类型

im = mat2gray(im); % 这行代码将数据范围缩放到 [0,1]

figure;imshow(im);


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接