2011-11-30 79 views
3

我需要計算我在CT圖像上定義的感興趣區域的平均像素值。我用imfreehand繪製投資回報率,但我不知道如何繼續進行像素值計算。誰能幫我?在MATLAB中使用ROI

+2

如果答案是有幫助的,你能否將其標記爲接受以幫助其他人找到它? –

回答

15

這個怎麼樣?

使一些數據:

>> im = [rand(200,200),rand(200,200)*2]; 

顯示它並選擇使用imfreehand的ROI:

>> mask = createMask(h); 

>> imagesc(im) 
>> h = imfreehand; 

image1

從ROI使掩模

只是爲了展示發生了什麼事,使該區域成爲投資回報率的NaN之外,並顯示:

>> im(~mask) = NaN; 
>> figure; imagesc(im) 

image2

計算投資回報率(即大於0.5內的像素的平均值,因爲我選擇一個地區在一邊的中間):

>> mean(im(mask)) 
ans = 
     0.83782 

希望幫助!

+0

好吧,掩碼總是二進制的? Cuz當我創建一個蒙版並顯示它時,它會自動顯示一個二進制圖像。我該如何處理這個問題? –

+0

哦,我知道了..有道理!儘管createMask不適合我。我不知道你是把它寫成一個函數,還是作爲我理解的一個步驟。我基本上使用下面的代碼, h = roipoly(i) 一旦我創建了ROI,我右鍵單擊它將其轉換爲掩碼。 imshow(h)將顯示二進制掩碼 av = mean(i(h)) 再次感謝:) –