我有一個二進制影像,我試圖識別黑色斑點內部的形狀。背景和感興趣的物件都是白色的。我正在嘗試找到一種僅反轉白色背景的解決方案,這樣剩下的唯一白色像素就是黑色斑點內部的形狀。有沒有辦法將背景中的所有白色像素與物件的白色像素區分開來?
樣本輸入:

期望的輸出:

uj5u.com熱心網友回復:
很明顯,黑色物體的任何地方都沒有“包圍”背景。然后您可以使用以下內容cv2.floodFill填充白色背景new_color:
# assuming `img` is binary image
seed = (0,0) # a point in the background, here I choose top-left corner
new_color = (0,0,0) # since you want to make it black
cv2.floodFill(img, None, seedPoint=seed, newVal=new_color)
cv2.imshow('flood', img)
請注意,此功能是就地操作,這意味著更改直接應用于img. 如果您想保留舊的img,請考慮復制它:
backup_img = np.copy(img)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/486903.html
