【发布时间】:2020-07-16 23:49:56
【问题描述】:
我有一个形状为(1024,1024) 的布尔掩码numpy 数组,它是图片上一个人的布尔掩码,如下所示。现在我想获取掩码中最左下角的点(标记为红色)、掩码中最右下角的点(标记为蓝色)的 X 和 Y 坐标(数组中的索引)。更具挑战性的是,我想得到下图中绿色和粉色点的索引(图像上人的肩膀顶部)。
有没有简单的方法可以得到这些点的坐标?
获取完全相同格式的掩码的示例代码如下:
from skimage import io
image = io.imread('https://i.imgur.com/X9BKDtl.png')
image = image.astype(bool)
image = image[:, :, 0]
【问题讨论】:
-
计算凸包可能是一个好的开始:en.m.wikipedia.org/wiki/Convex_hull
-
在skimage和opencv中,有一个函数叫
regionprops。它应该按照 Griffin 的建议计算凸包,以及其他可能有用的东西。我会从那里开始。