【发布时间】:2016-11-03 15:23:11
【问题描述】:
我正在尝试开发一个 dicom 图像查看器。我已成功解码图像缓冲区。我将所有图像像素值存储在 C++ 中的 unsigned char 缓冲区中。
现在,当我显示图像时,它适用于像素表示 (0028,0103) =0 的图像。有人可以告诉我如何将此签名转换应用到这些解码缓冲区中。我不知道如何将此有符号位转换为无符号位(我认为通常使用类型转换的转换效果不佳)。请发布 16 位图像的回放,这是我现在真正需要的。
我正在尝试从头开始创建一个查看器,它只是将图像放在屏幕上。我已经成功完成了dicom图像的解码和显示。但是,当我尝试打开像素表示(标记 0028,0103)=1 的图像时,图像显示不正确。从 16 位到 8 位的转换是与应用窗口级别和宽度(在 dicom 图像中找到的值)一起完成的,转换只是线性的。
【问题讨论】:
-
请提供更多关于您想要实现的目标的详细信息,因为您的问题目前需要的答案比您可能预期的要多得多。尤其重要的是要知道在缩小 16 -> 8 位时如何控制信息丢失。你应用窗口吗?或者你只是缩小原始像素数据?您的查看器是否将支持“按原样显示”之外的功能,例如调整亮度/对比度?您是在使用 DICOM 库还是真的从头开始构建 DICOM 文件?
-
感谢您的宝贵时间,我已在问题中添加了详细信息。
-
stackoverflow.com/questions/40231080/… 这个问题是关于将 16 位图像转换为我已成功完成的 8 位图像。现在我需要知道如何在 dicom 图像中应用符号位
-
没有有符号位或无符号位。只有位和有符号类型和无符号类型
标签: c++ type-conversion dicom sign bit-representation