2
我有一個二進制圖像,我想從中手動測量連接的白色區域的面積,而不使用MATLAB函數。我已標記的區域連接區域的區域
I=imread('http://i.stack.imgur.com/rBaua.jpg')
[Label,Total]=bwlabel(I,8);
標籤是< 669x585雙>變量具有所有單獨標記,從1開始連接的白色區域:總計。這裏是圖像:
。
我有一個二進制圖像,我想從中手動測量連接的白色區域的面積,而不使用MATLAB函數。我已標記的區域連接區域的區域
I=imread('http://i.stack.imgur.com/rBaua.jpg')
[Label,Total]=bwlabel(I,8);
標籤是< 669x585雙>變量具有所有單獨標記,從1開始連接的白色區域:總計。這裏是圖像:
。
如果您不想使用任何內置函數,您可以輕鬆地遍歷標籤並計算具有給定標籤的像素數量。
areas = arrayfun(@(x)sum(Label(:) == x), 1:max(Label(:)));
或者,你可以使用類似accumarray
或histcounts
指望他們給你的。
areas = accumarray(Label(:)+1, Label(:), [], @numel);
areas = histcounts(Label(:), 1:max(Label(:)));