【问题标题】:How to change gray level of Dicom image?如何改变 Dicom 图像的灰度?
【发布时间】:2015-09-30 06:53:32
【问题描述】:

我正在处理灰度级为 0 到 255 的灰度图像。我想处理 Dicom 图像,但 dicom 图像的最大灰度级大于 255。我只想知道如何更改最大灰度级 255 的 dicom 图像。

提前致谢。

【问题讨论】:

  • 听起来您在问一个更一般的问题,即如何在 8bpp 目标上显示 >8bpp 的灰度图像。大多数灰度 DICOM 图像存储的每个像素超过 8 位,建议的窗口+级别用于调整 8 位显示的数据。
  • 我不愿意从图像中损失那么多精度。据我记得,Matlab 中对灰度图像进行操作的内置函数可以在 int16 或双图像上正常工作。

标签: image matlab image-processing dicom grayscale


【解决方案1】:

您可以对图像进行标准化,使其具有[0,1] 的范围。完成此操作后,您可以将图像缩放 255 以使其达到[0,255] 的范围。假设你的图片存储在im,你可以这样做:

im = double(im);
im = (im - min(im(:))) / (max(im(:)) - min(im(:))); %// Normalize to 0-1
im = uint8(255*im); %// Scale to 255

min(im(:)) 会找到整个图像的最小强度,而max(im(:)) 会找到整个图像的最大强度。请注意,一旦我缩放图像,我将转换为 uint8,因为这将是与此强度范围相关联的正确数据类型。

但是,MATLAB 的功能已经在 [0,1]im2double 之间进行了标准化。这会接收任何精度的图像并将图像归一化为[0,1]。然后,您可以将此输出乘以 255 并转换为 uint8

im = uint8(255*im2double(im));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多