2016-09-25 61 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