【问题标题】:Why does skimage regionprops return 4 values for the area为什么 skimage regionprops 为该区域返回 4 个值
【发布时间】:2021-12-17 17:29:42
【问题描述】:

我想用 skimage.measure 测量二进制分割图像的面积。

当我打印时,结果返回 4 个值,而不仅仅是像素数量。 这是代码:

label_image = measure.label(image > threshold, connectivity=image.ndim)
props = measure.regionprops_table(label_image, image, properties=['label','area', 'equivalent_diameter','mean_intensity', 'solidity'])

df = pd.DataFrame(props)
print('Area measured with skimage measure package: ', df.area)

这是输出:

Area measured with skimage measure package:  0       2
1    2789

我只对像素数量(第 4 个值)感兴趣。图像中只有一个分段元素。

我怎样才能只得到第四个,其他参数是什么?

这是分割后的图像:

【问题讨论】:

  • 你的头像怎么样?
  • 已将其添加到帖子中 :)

标签: python image-segmentation scikit-image


【解决方案1】:

您有 4 个值,因为图像上有 2 个对象(一个很小,一个很大),regionprops 返回两个对象属性。您正在打印一个 pandas.Series 对象,其中第一个值是索引,第二个是实际值。

如果您打印数据框 df,您应该会看到 2 行。

您可以像这样正确打印它:

for i, v in enumerate(df.area):
    print(f"Object {i} area: {v}")

【讨论】:

    猜你喜欢
    • 2016-06-28
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    • 2020-12-08
    • 2012-08-12
    • 2018-07-23
    • 2022-01-14
    • 1970-01-01
    相关资源
    最近更新 更多