Fig. 1

Sample uses of the tree of shapes.

x x‎
(a) Denoising (self-dual grain removal).
x x
(b) Shape Filtering (keep round objects).
(c) Object Detection (energy-based method).
(d) Hierarchical Segmentation (saliency-based): click on the thumbnail (right).
(e) Hierarchical Segmentation: fine (left), coarse (right).

Fig. 2

An image (a) and its tree of shapes (b). The propagation of the level line λ ended, meaning that the nodes O and A have already been visited. The hierarchical queue contains the interior contour of B and C. Thus it can be partitioned in two sets S⁺λ = ∂B and S⁻λ = ∂C. The propagation can proceed on both parts in parallel.

Crozet14icip simpleimage.png Crozet14icip simpletos.png
(a) Image (b) Tree of shapes

Fig. 4

(a) is the input image. (b) is the result of the subdivision. (c) is the result of the immersion into the Khalimsky grid. 0-faces are represented by dots, 1-faces by segments and 2-faces by squares.

Crozet14icip Immerse f.png ~ Crozet14icip Immerse f subdivided.png ~ ~ Crozet14icip Immerse f immersed.png ~
(a) Input (b) Subdivided (c) Immersed

Fig. 8

The original image (a) and the associated F^{ord} (b); the max-tree of (b) coincides with the tree of shapes of (a).

Crozet14icip Simpleimage levels.png Crozet14icip Simpleimage revalued.png
(a) Original image (b) Re-valued image

Fig. 10

Computation times (in seconds) on a classical image test set of the following algorithms: FLLT, FLST, Géraud et al., and this paper proposal.

Crozet14icip Benchwo.png


Images used for the benchmarks: [1]

Source Code

  • Code of the serial version: [2]
  • Code of the parallel version: [3]
  • Code of the milena image processing library: [4]

Useful links

The Olena platform for image processing: (containing the Milena C++ image processing library)

Reproducible research: