2014-02-17 46 views
0

我必須寫的「計算通過圖像處理不定形物體的體積」在MATLAB軟件算法如何通過圖像處理計算未成形物體的體積?

我必須編寫取對象作爲輸入的多圖象的算法,並計算體積該對象作爲輸出。每個幫助將非常感激。由於

+3

就目前而言,這太籠統和模糊了。你需要做一些閱讀,然後進行一些編碼,然後當你有一個更具體的問題涉及到你已經完成的工作時再回來。這聽起來像你應該做某種立體攝影測量 – nkjt

回答

0

如果只有物體和背景圖像I

O = im2bw(I); % suppose 1 labelled on the object and 0 on the background 
Volume = length(find(O == 1)); 

上面的代碼將會給你物體的體積。

如果圖像中有各種物體,並且想要在其中獲得一個卷。例如你有如下圖左圖所示的MRI腦圖像,並且希望獲得水腫的體積(黃色部分內):在上面的代碼

enter image description here

I2 = im2bw(I); 
I2 = bwareaopen(I2,100); 
I2 = imdilate(I2,ones(3)); 
bw = bwlabel(I2); 

bw會給你右邊的數字。正如你可以看到有一些標有1三個部分 - 3。然後,

stats=regionprops(bw,'PixelIdxList'); 
length(stats(1).PixelIdxList) 
length(stats(2).PixelIdxList) 
length(stats(3).PixelIdxList) 

會給你14455,404,9632分別。左側圖像中的黃色部分在右側標記爲3。所以物體的體積是9632.