Seed point selection is based on some user criterion (for example, pixels in a certain grayscale range, pixels evenly spaced on a grid, etc.).
The regions are then grown from these seed points to adjacent points depending on a region membership criterion.