我想在matlab dicomread
示例:
a = dicomread ('m.dcm');
imshow(a)
图像显示在屏幕上,但它非常暗......我想知道它是黑暗而不正常。 我检查了不同的dicom图像,但问题仍然存在。 我希望你能帮助我 提前谢谢。
答案 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);