How to do it...

  1. Import the necessary modules and functions:
import cv2, randomimport numpy as npfrom random import randint
  1. Load an image to segment and create its copy and other images to store seeds and the segmentation result:
img = cv2.imread('../data/Lena.png')show_img = np.copy(img)seeds = np.full(img.shape[0:2], 0, np.int32)segmentation = np.full(img.shape, 0, np.uint8)
  1. Define the number of seed types, the color for each seed type, and some variables to work with mouse events:
n_seeds = 9colors = []for m in range(n_seeds):    colors.append((255 * m / n_seeds, randint(0, 255), randint(0, 255)))mouse_pressed = Falsecurrent_seed = 1seeds_updated = False
  1. Implement the mouse callback function to handle events from the mouse; let's draw ...

Get OpenCV 3 Computer Vision with Python Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.