我正在使用dcmtk从dicom数据中获取图像数据。现在我有一个样本图像的以下信息:
当我将窗口/中心值应用于数据的实际像素值时,其中许多是白色的。我迭代像素值,然后我发现许多像素值(大于80%)超出最大图像像素值。其中许多超过最大的5倍!这使得我的图像接近完全白色。奇怪的是,我不知道为什么当我将像素值分成256时,结果图像接近我期望的图像。我不明白为什么会这样。
也许很高兴看到其他未知属性:
为什么会发生这种情况?
答案 0 :(得分:1)
你可以验证你只读取每个像素的12位吗?即你沿着这些方向应用了某些东西
int value =((byte [0]& 0x0f)<< 8)|字节[1];
而不是
int value =(byte [0]<< 8)|字节[1];
答案 1 :(得分:0)
我还没有看到你的图像数据,但是从你说的我认为这是一个字节序问题。现在我没有广泛使用gdcmtk但是在gdcm中我们可以选择设置数据字节序。尝试将endianness设置为little而不是big。如果您能提供我的dicom文件,我可以尝试使用gdcm读取它。