2016-09-25 55 views
1

給定圖像img,我使用bwconncomp得到Matlab中的連通組件。從返回的連接組件中,我可以獲取每個組件的最大值。但是,如何獲得最大值的索引?我想知道圖像中實際出現的最大值。獲取每個連接組件的最大值的索引

下面是我到目前爲止的僞代碼:

cc = bwconncomp(img) 
% iterate through the length(cc.PixelIdxList) 
     value(it) = max(cc.PixelIdxList{:,it}) 
     x(it) = ? 
     y(it) = ? 

如何獲得xy

回答

2

像這樣:

ind(it) = max(cc.PixelIdxList{:,it}) 
[x(it),y(it)] = ind2sub(size(img),ind(it)) 

事實上PixelIdxList爲您提供了像素的線性指標,而不是它的價值,你可以用ind2sub將其轉換爲下標索引。

要獲得本身的價值類型:

value(it) = img(ind(it)); 
+0

這是完美的 - 正是我一直在尋找。謝謝! – user6664585