如何使用 OpenCV 统计黑色背景图像中的白色区域数量?

如何使用 OpenCV 统计黑色背景图像中的白色区域数量?

如何统计一张黑色背景图像中的白色区域数量?

对于图像分析任务,例如统计图像中的白色区域数量,可以使用 opencv 库的高效算法

给定一张黑色背景的图像,您可以在图像二值化后使用 cv2.connectedcomponentswithstats 函数。该函数将连接的组件(白色区域)分组并提取其统计信息,例如面积、中心位置和矩形边界框。

以下是如何使用此函数统计图像中白色区域数量的代码:

_, bin_img = cv2.threshold(dilation, 0, 1, cv2.THRESH_BINARY)

# 搜索图像中的连通区域
ret, labels, stats, centroid = cv2.connectedComponentsWithStats(bin_img, connectivity=4)

# 遍历连通区域,计算数量
count = 0
for stat in stats:
    if (stat[2] - stat[0]) > bin_img.shape[0] / 2:
        continue
    count += 1

print(f"白色区域的数量:{count}")

这种方法比逐像素遍历图像更加高效,并且可以准确地统计图像中连接的白色区域的数量。

以上就是如何使用 OpenCV 统计黑色背景图像中的白色区域数量?的详细内容,更多请关注其它相关文章!