2011-11-03 120 views

回答

3

你已經採取了這一形象從rice demonstration附帶MATLAB的Image Processing Toolbox。如果你仔細閱讀演示,你已經有了一些代碼可以單獨分離每個米粒 - 這就是圖像的創建過程。

至於計算具有特定顏色(如黃色或綠色)的顆粒的數量,請再次閱讀演示:很明顯,米顆粒沒有染上一小組離散的顏色,如黃色或綠色(或橙色或粉紅色)。相反,大米顆粒顏色是專門創建的,因此它們在整個顏色地圖spring中均勻分佈。

因此,要繼續做事你將不得不提供一些定義「黃色」或「綠色」,也許在爲RGB值的特定範圍內的術語。

完成此操作後,您可以使用變量labeled(在演示中爲您構建)與regionprops命令一起給出每個米粒邊界內的像素列表。只需將這些像素與您的黃色或綠色的定義進行比較,即可。

+0

大米示範鏈接不起作用。 – 2015-07-26 13:38:24

+1

它已更新。改爲使用http://uk.mathworks.com/help/images/image-enhancement-and-analysis.html。 –

0

假設您有矩陣a(大小爲m*n*3)的圖像,並且您想要查找顏色爲[r,g,b]的對象的數量。

第一,只選擇像素使用正確的顏色:

bb = (a(:,:,1) == r & a(:,:,2) == g &a(:,:,3) == b); 

比:

[~,num] = bwlabel(bb,8) 

num是對象的數量。

+0

嗨,謝謝你的幫助。我是matlab初學者用戶。請你詳細介紹一下。我不太清楚 – user908798

+0

您是否在答案中嘗試過te代碼? –

+0

我已經嘗試過,但我得到的是對象的總數。我想通過每種顏色獲得對象的數量。 – user908798

相關問題