2014-09-20 205 views
0

我正在使用其中灰度級位於0到255的灰色圖像。我想在Dicom圖像上工作,但dicom圖像的最大灰度等級比255更高。我只想知道如何更改最大灰度級別255的dicom圖像。如何更改Dicom圖像的灰度級?

在此先感謝。

+0

這聽起來像你問有關如何在一個8bpp的目標顯示與> 8bpp的灰度圖像更一般的問題。大多數灰度級DICOM圖像的存儲位置超過每像素8位,建議的窗口+級別用於調整8位顯示的數據。 – BitBank 2014-09-20 10:42:00

+0

我不願意從圖像中失去那麼多的精確度。據我記得,Matlab中的內置函數可以在灰度圖像上運行int16或double圖像。 – beaker 2014-09-20 17:54:17

回答

0

您可以對圖像進行歸一化處理,使其範圍爲[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)); 
+0

謝謝你給答案rayryeng !!! – user3282683 2014-09-22 03:23:45