我在Ubuntu系统中,使用Python 2.7版本,并且正在使用OpenCV。
我试图理解cv2.connectedComponents函数的确切作用。这是图片:
代码如下:
import cv2
import numpy as np
img = cv2.imread('BN.tif', 0)
img = np.uint8(img)
_, markers = cv2.connectedComponents(img)
据我所了解,此函数将创建一个与提供的图像大小相同的数组。 对于检测到的每个组件,将为该组件的所有(y,x)位置分配相同的数字。 如果背景全部为“0”,则圆圈将全部为“1”,下一个正方形全部为“2”等等。 最后一个组件应全部为“19”。 我通过获取定义组件的最高数字来读取组件的数量:
np.amax(markers)
我应该得到19个组件,但我只得到了1个。
我的问题是:为什么我只得到了1个组件?
img = 255 - img
。 - Miki