我正在尝试开发一个DICOM图像查看器。我已经成功解码了图像缓冲区。我将所有图像像素值存储在C++中的一个unsigned char缓冲区中。
现在,当我显示图像时,对于像素表示(0028,0103)=0的图像,一切正常。请问有人能够向我展示如何将这个带符号的转换应用到这些解码的缓冲区中吗?我不知道如何将这些带符号位转换为无符号位(我认为通常使用类型转换的转换效果不好)。请回复16位图像的内容,这是我现在真正需要的。
我正在尝试从头开始创建一个查看器,它简单地将图像放在屏幕上。我已经成功完成了DICOM图像的解码和显示。但是当我尝试打开一个具有像素表示(tag 0028,0103)=1的图像时,图像显示不正确。将16位转换为8位并应用窗口级别和宽度(在DICOM图像内找到的值)后,转换就变得非常线性。
现在,当我显示图像时,对于像素表示(0028,0103)=0的图像,一切正常。请问有人能够向我展示如何将这个带符号的转换应用到这些解码的缓冲区中吗?我不知道如何将这些带符号位转换为无符号位(我认为通常使用类型转换的转换效果不好)。请回复16位图像的内容,这是我现在真正需要的。
我正在尝试从头开始创建一个查看器,它简单地将图像放在屏幕上。我已经成功完成了DICOM图像的解码和显示。但是当我尝试打开一个具有像素表示(tag 0028,0103)=1的图像时,图像显示不正确。将16位转换为8位并应用窗口级别和宽度(在DICOM图像内找到的值)后,转换就变得非常线性。