写一段提取二值化图像连通域的代码
时间: 2023-06-06 12:04:35 浏览: 99
好的,以下是一份简单的 Python 代码,用于提取二值化图像的连通域:
```python
import cv2
# 读取二值化图像
img = cv2.imread('binary_image.png', cv2.IMREAD_GRAYSCALE)
# 提取连通域
num_labels, labels, stats, centroids = cv2.connectedComponentsWithStats(img)
# 打印连通域数量
print('Number of connected components: ', num_labels - 1)
# 遍历每个连通域的统计信息
for label, stat, centroid in zip(range(num_labels), stats, centroids):
# 跳过背景连通域
if label == 0:
continue
# 打印该连通域的统计信息和中心点坐标
print('Connected component %d:' % label)
print('\tcenter: (%.1f, %.1f)' % (centroid[0], centroid[1]))
print('\tleft-top corner: (%d, %d)' % (stat[0], stat[1]))
print('\tarea: %d' % stat[4])
```
注意,此代码提取的连通域不包括背景连通域(标签为0)。同时,这里的连通域数量不包括背景连通域。
阅读全文