Foreground Extraction
| Tool | GUI menu item | Main implementation file | Description |
|---|---|---|---|
| Foreground Select Tool | Tools ⇒ Selection Tools ⇒ Foreground Select |
gimpforegroundselecttool.c | Select a region containing foreground objects |
| gimpdrawable-foreground-extract.c | Algorithm (Image Segmentation by Uniform Color Clustering) |
References
- Original algorithm: “Image Segmentation by Uniform Color Clustering”, by Gerald Friedland, Kristian Jantz, Lars Knipping, Raul Rojas.
- Backup of “Image Segmentation by Uniform Color Clustering”.
- “A Closed Form Solution to Natural Image Matting”, by Anat Levin, Dani Lischinski and Yair Weiss.
- Backup of “A Closed Form Solution to Natural Image Matting”
Implementation
This tool was originally implemented by Gerald Friedland, the main author of the source paper.
It does look like the algorithm may have been significantly changed, as no matting algorithm was used originally. Now people can choose between Matting Global and Matting Levin.
This comment by Thomas Manni is of interest as it suggest that the current UI of the Foreground Select tool may not be adapted to the type of algorithm it currently uses. A possible evolution could be that we redesign the tool into a selection tool made to refine an existing selection, in particular around the edges, to select “unknown” pixels, such as hair, fur or other particles.
A more binary segmentation algorithm could be used for a new tool, such as the Paint Select tool, currently in progress.
According to Thomas, our current algorithm would therefore be the second paper, title “A Closed Form Solution to Natural Image Matting”, which — if I understand correctly — would be where Matting Levin algorithm is being described. Other papers from the same researcher can be found on her publications list.
Note: though more efficient, the Matting Levin engine is also less stable and more memory hungry, to the point that we have disabled it on our Windows binaries.