【问题标题】:Getting the indices of the max value of each connected component获取每个连接组件的最大值的索引
【发布时间】:2016-09-25 22:09:54
【问题描述】:

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

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

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

如何获得xy

【问题讨论】:

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


    【解决方案1】:

    像这样:

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

    事实上PixelIdxList给你的是像素的线性索引,而不是它的值,你可以使用ind2sub把它转换成下标索引。

    要获取值本身,请键入:

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

    【讨论】:

    • 这是完美的——正是我想要的。谢谢!
    猜你喜欢
    • 2021-07-19
    • 1970-01-01
    • 2019-05-09
    • 2013-07-11
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    相关资源
    最近更新 更多