首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scikit skimage区域python connected regions (python)

Scikit skimage区域python connected regions (python)
EN

Stack Overflow用户
提问于 2020-09-22 21:45:55
回答 1查看 111关注 0票数 0

我正在试着找出哪些区域是相连的。我搜索了scikit文档,但我无法找到这样做的方法。

下面是我的代码

代码语言:javascript
复制
def calculate_mask_info(labeled_2DImage):
    features = pd.DataFrame()
    id = 0

    newmask = label(labeled_2DImage, connectivity=2) # seperate regions with same mean_intensity that are not connected

    for region in regionprops(newmask, intensity_image=labeled_2DImage):
        if region.mean_intensity < 1:
            # Skip background (intensity 0)
            continue
        # connected regionds Id's -> how?
        features = features.append([get_region_info(region, id)]) #function that puts region info into dictionary
        id += 1
    return features

def get_region_info(region, id):
    feat_dict = {'id': id,
                 'labelId': region.mean_intensity,
                 'y': region.centroid[0],
                 'x': region.centroid[1],
                }
    return feat_dict

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-23 18:21:45

你想要的是一个region adjacency graph, or RAG。您可以使用以下命令创建一个:

代码语言:javascript
复制
from skimage import future

rag = future.graph.RAG(newmask)  # or labeled2D_image, not sure

然后,您可以使用以下命令获取相邻区域:

代码语言:javascript
复制
list(rag.neighbors(region.label))

请注意,默认情况下,邻居包含背景标签(0),但您可以使用以下命令删除它:

代码语言:javascript
复制
rag.remove_node(0)

RAG是一个networkx Graph,因此您可以查看文档以了解更多信息。

最后,请注意,在即将发布的0.18版本的scikit image中,RAG将从skimage.future.graph迁移到skimage.segmentation.graph,因此您应该注意这一变化!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64011133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档