- Import the necessary modules and functions:
import cv2, randomimport numpy as npfrom random import randint
- 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)
- 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
- Implement the mouse callback function to handle events from the mouse; let's draw ...