У меня есть эта картина ниже. Я хочу объединить две капли вместе, чтобы получить окончательный контур человека.
Я попробовал методы расширения и эрозии, чтобы заставить эти капли соединяться, но контур сохраняется.
img = cv2.imread(folder+i)
kernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (3, 3))
dil = cv2.dilate(img, kernel, iterations=5)
fin = cv2.erode(dil, kernel, iterations=5)
gray = cv2.cvtColor(fin, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(gray, 127, 255, 0)
im_floodfill = thresh.copy()
h, w = thresh.shape[:2]
mask = np.zeros((h + 2, w + 2), np.uint8)
cv2.floodFill(im_floodfill, mask, (0, 0), 255);
im_floodfill_inv = cv2.bitwise_not(im_floodfill)
im_out = thresh | im_floodfill_inv
cv2.imshow("test", im_out)
cv2.waitKey(0)
Out1 выводит то, что я хочу, но в
В случае возникновения проблем.
Существуют ли другие приемы, которые я могу использовать, не искажая контур.