为什么skimage regionprops return 4个区域值

Why does skimage regionprops return 4 values for the area

我想用 skimage.measure.

测量二值分割图像的面积

当我打印结果时 returns 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 个值)感兴趣。图像中只有一个分段元素。

我怎么只能得到第4个参数,其他参数有什么用?

这是分割后的图像:

你有 4 个值,因为图像上有 2 个对象(非常小的一个和大的)并且 regionprops returns 这两个对象属性。您正在打印一个 pandas.Series 对象,其中第一个值是索引,第二个是实际值。

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

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

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