我在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