Как сегментировать объекты на изображении? - PullRequest
0 голосов
/ 06 мая 2020

У меня есть изображение, содержащее объекты. Мне удалось определить и применить сегментацию водораздела для разделения объектов, но я не получил желаемых результатов. Белые изображения - это объекты, и я пытаюсь извлечь каждое из них отдельно. Просим вас помочь.

for color in colour[1:]:
img_new_copy = copy.copy(img_rgb)

img_mask = np.zeros(markers.shape)
img_mask[markers==color] += 255
img_mask = cv2.dilate(img_mask,kernel,iterations=2)
coords = np.column_stack(np.where(img_mask > 0))
contours,hierarchy = cv2.findContours(img_mask.astype(np.uint8), 1, 2)
x,y,w,h = cv2.boundingRect(coords)
img_new_copy[img_mask==0] *= 0
image_object = img_new_copy[x:x+w,y:y+h,:]
if w > 200 or h > 200:
    continue
else:
    grain = rotate_bound(image_object, cv2.fitEllipse(coords)[-1]-180)

Это изображение, на котором показаны объекты, отделенные от фона, и маркеры на изображении водораздела:

image

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...