我正在使用其中灰度級位於0到255的灰色圖像。我想在Dicom圖像上工作,但dicom圖像的最大灰度等級比255更高。我只想知道如何更改最大灰度級別255的dicom圖像。如何更改Dicom圖像的灰度級?
在此先感謝。
我正在使用其中灰度級位於0到255的灰色圖像。我想在Dicom圖像上工作,但dicom圖像的最大灰度等級比255更高。我只想知道如何更改最大灰度級別255的dicom圖像。如何更改Dicom圖像的灰度級?
在此先感謝。
您可以對圖像進行歸一化處理,使其範圍爲[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));
謝謝你給答案rayryeng !!! – user3282683 2014-09-22 03:23:45
這聽起來像你問有關如何在一個8bpp的目標顯示與> 8bpp的灰度圖像更一般的問題。大多數灰度級DICOM圖像的存儲位置超過每像素8位,建議的窗口+級別用於調整8位顯示的數據。 – BitBank 2014-09-20 10:42:00
我不願意從圖像中失去那麼多的精確度。據我記得,Matlab中的內置函數可以在灰度圖像上運行int16或double圖像。 – beaker 2014-09-20 17:54:17