根据面积合并区域

merge region based on area

我需要合并来自 scikit-image Label 产品的小 regions slic 直到达到区域阈值

切片本身有一个 min_size_factor 这不是我的解决方案,因为它对标记的整体结果产生了不良影响。

我可以计算区域面积的方式:

def pixelcount(regionmask):
    return np.sum(regionmask)
props = regionprops(label_img, extra_properties=(pixelcount,))

对于区域区域,是否有与 cut_normalized 函数(基于预先计算的 RAG 的颜色相似性)相同的方法?

感谢任何帮助。

对于可能遇到这种情况的人:

  • 通过 scikit_image 构建 RAG,将“像素数”作为附加到节点的数据

  • 定义“权重”等于以下代码并合并归一化:

      for x, y, d in graph.edges(data=True):
          diff = graph.nodes[x]['pixel count'] - graph.nodes[y]['pixel count']
          diff = np.linalg.norm(diff)