finds a segmentation of image, returning an integer matrix in which positive integers label different components.


tries to find a segmentation into components that include pixels indicated by marker.


finds components that are connected at a pixel scale given by r.


  • ImageForestingComponents[image,marker] generates a graph-based segmentation of image, starting with the pixels specified by marker.
  • ImageForestingComponents works with arbitrary 2D and 3D images.
  • The target region marker can be any of the following:
  • markerimagea marker image
    {pos1,pos2,}a list of positions
  • Positions posi are assumed to be in the standard image coordinate system.
  • Nonzero elements of marker are treated as weighted seeds for the segmentation.
  • ImageForestingComponents produces a complete segmentation, assigning each pixel to a foreground component.
  • ImageForestingComponents[image,marker,r] generates a segmentation where pixels in each component are connected within the radius r. The default radius setting is 2.
  • ImageForestingComponents[image,marker,{r1,r2}] specifies different radii in vertical and horizontal directions.

Background & Context

  • ImageForestingComponents returns an array of integers obtained through application of the image foresting transform (IFT). This transform provides a way to segment (separate) images into indexed components, each of which contains pixels having a similar color. The image foresting transform operates by constructing a graph in which neighboring pixels are joined by edges having weights proportional to the similarity of their colors and then partitioning this graph.
  • Like other segmentation functions, ImageForestingComponents returns a label array in which each pixel is replaced by an integer corresponding to the component in which that pixel appears. A characteristic of ImageForestingComponents is that every pixel is assigned to some component. This means there is no separate background. Unlike some other segmentation schemes, ImageForestingComponents works in full color space without converting to intensity values.
  • The image foresting transform is particularly good at segmenting images in which there is a high contrast between the segments to be separated.
  • Other image segmentation functions include MorphologicalComponents and ClusteringComponents. The array returned by ImageForestingComponents may be visualized using Colorize and related functions.


open all close all

Basic Examples  (2)

Segment a color image:

Click for copyable input

Segment components in a 3D volume:

Click for copyable input

Scope  (2)

Applications  (4)

Introduced in 2010
Updated in 2014