A matlab wrapper for unsupervised segmentation of images based on Felzenszwalb and Huttenlocher
Setup - safely add repo to search path
To make Matlab familiar with all relevant paths (there are only 2 currently) go to the root folder and execute
which requires Matlabs GUI to show images and segmentation results
- Inspect the demo file to learn how to setup variables, and how to call the underlying mex functions
Implementation of the segmentation algorithm described in:
Efficient Graph-Based Image Segmentation Pedro F. Felzenszwalb and Daniel P. Huttenlocher International Journal of Computer Vision, 59(2) September 2004.
The program [segment.cpp, note by A. Freytag] takes a color image (PPM format) and produces a segmentation with a random color assigned to each region.
segment sigma k min input output.
The parameters are: (see the paper for details)
- sigma: Used to smooth the input image before segmenting it.
- k: Value for the threshold function.
- min: Minimum component size enforced by post-processing.
- input: Input image.
- output: Output image.
Typical parameters are sigma = 0.5, k = 500, min = 20. Larger values for k result in larger components in the result.
NOTE ( by Alexander Freytag )
- only images with less then std::numeric_limits::max() pixels are supported properly!