我在Ubuntu上,python 2.7。使用OpenCV。cv2.connectedComponents not detected components
我想知道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
哎哟...我怎么可以这样...那是正确的!谢谢 – daniel