CT扫描的dicom图像中的负值

时间:2016-01-21 09:43:12

标签: matlab image-segmentation

通常,CT扫描图像本质上是灰度图像。我从医学研究所获得了dicom图像,但是它们的强度是负的,而一般的dicom图像在MATLAB中的值应该是0到255之间。有什么方法可以解决从负到正常的0到255范围内的值,而不会截断其他值或扭曲图像?

1 个答案:

答案 0 :(得分:1)

我认为假设一般的dicom图像在MATLAB中的值介于0-255之间是不正确的。如果仔细查看dicomread函数帮助,它会注意到image类可以是int8,uint8,int16或uint16,这意味着确实允许使用负值。

请参阅:https://www.mathworks.com/help/images/ref/dicomread.html

例如,在MATLAB中尝试:

class(dicomread('CT-MONO2-16-ankle.dcm')) % returns a int16, which can hold negative values

如果你真的想将所有值转换为uint8类型(强制所有值都在0-255之间),你可以考虑使用im2uint8,如下所示:

out = im2uint8(inDCMmatrix);