首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用遮罩区域找到超像素的质心?

如何使用遮罩区域找到超像素的质心?
EN

Stack Overflow用户
提问于 2018-04-23 22:50:32
回答 1查看 875关注 0票数 0

新手来了!我正在使用python加上opencv和skimage包。我已经用超像素分割了一幅图像:

代码语言:javascript
复制
segments = slic(image, n_segments=numSegments, sigma=1, convert2lab=True)

代码语言:javascript
复制
#FOR-LOOP-1
for v in np.unique(segments):
    #create a mask to access one region at the time
    mask = np.ones(image.shape[:2])
    mask[segments == v] = 0

    #my function to calculate mean of A channel in LAB color space
    A = mean_achannel(img, mask) 

现在我想得到与每个超像素的质心相关的坐标,我该怎么做呢?我尝试使用:

代码语言:javascript
复制
from skimage.measure import regionprops

#FOR-LOOP-2
regions = regionprops(segments)
for props in regions:
    cx, cy = props.centroid  # centroid coordinates

但是我不能理解如何将"FOR-LOOP-2“中的每个区域与"FOR-LOOP-1”中的正确区域联系起来。如何计算"FOR-LOOP-1“内部的每个区域质心?

EN

回答 1

Stack Overflow用户

发布于 2020-04-07 14:10:19

所有需要的值都可以在for-loop-2中使用regionprops找到:

代码语言:javascript
复制
from skimage.measure import regionprops

#FOR-LOOP-2
regions = regionprops(segments,
                      intensity_image=img[..., 1])
for props in regions:
    cx, cy = props.centroid  # centroid coordinates
    v = props.label  # value of label
    mean_a = props.mean_intensity
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49983999

复制
相关文章

相似问题

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