2016-01-21 5 views
0

Как правило, изображения CT Scan имеют оттенки серого. Я получил диком изображения из медицинского института, но у них отрицательная интенсивность в них, в то время как общее изображение диком предполагается иметь значения от 0 до 255 в MATLAB. Есть ли способ, в котором я могу работать со значениями от отрицательного до нормального диапазона 0 - 255, без усечения других значений или искажения изображения?Отрицательные значения в цифровом изображении CT Scan

+0

Можете ли вы предоставить нам пример данных? Что представляют собой отрицательные интенсивности? Можете ли вы просто установить их на ноль? Или вам нужно перемасштабировать? –

ответ

1

Я считаю неправильным предположить, что общее изображение диком предполагается иметь значения от 0 до 255 в MATLAB. Если вы внимательно посмотрите на помощь функции dicomread, он отмечает, что класс изображения может быть 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); 
Смежные вопросы