获取每个连接组件的最大值的索引

时间:2016-09-25 22:09:54

标签: image matlab image-processing matrix computer-vision

给定图像img,我在Matlab中使用bwconncomp获取连接的组件。从返回的连接组件中,我可以得到每个组件的最大值。但是,我如何获得最大值的索引?我想知道图像中实际出现最大值的位置。

这是我目前所拥有的伪代码:

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

如何获得xy

1 个答案:

答案 0 :(得分:2)

像这样:

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

实际上PixelIdxList为您提供了像素的线性索引,而不是它的值,您可以使用ind2sub将其转换为下标索引。

要获取值本身类型:

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