opencv-python影象孔洞填充
阿新 • • 發佈:2018-11-25
在進行影象分割的過程中,由於演算法的不穩定或者影象質量的問題,會造成影象孔洞出現,這個時候就需要對影象中的孔洞進行填充,具體函式如下
def fillHole(im_in):
im_floodfill = im_in.copy()
# Mask used to flood filling.
# Notice the size needs to be 2 pixels than the image.
h, w = im_in.shape[:2]
mask = np.zeros((h+2, w+2), np.uint8)
# Floodfill from point (0, 0)
cv2.floodFill(im_floodfill, mask, (0,0), 255);
# Invert floodfilled image
im_floodfill_inv = cv2.bitwise_not(im_floodfill)
# Combine the two images to get the foreground.
im_out = im_in | im_floodfill_inv
return im_out
這裡呼叫了 opencv 庫中的泛洪函式。我們將影象輸入就可以獲得整幅影象填充後的結果。