Light-weight MATLAB package for segmentation using GridCut http://gridcut.com/ [1].
It minimizes functions given on the form:
see [2], for theoretical details.
-
Get MATLAB and a compatible C++ compiler: http://se.mathworks.com/support/compilers/.
-
Setup the C++ compiler in MATLAB using "mex -setup".
-
Review the GridCut license, it is free to use in research.
-
Download the source code and place it inside /gridcut/.
-
Run examples/example.m.
The code has been tested on
- MATLAB 2013a with GCC 4.8 on Ubuntu 14.04.
- MATLAB 2013a with Visual Studio 2013 on Windows 7.
The GridCut implementation has limited connectivity support:
For 2D data
- 4-connectivity
- 8-connectivity
For 3D data
- 6-connectivity
- 26-connectivity
The current wrapper does not support the multi-threaded version of GridCut.
The data term must either be in double or single-precession (float).
-
Cache-efficient graph cuts on structured grids
Computer Vision and Pattern Recognition (CVPR), 2012
Ondrej Jamriska, Daniel Sykora, and Alexander Hornung -
What metrics can be approximated by geo-cuts, or global optimization of length/area and flux
International Conference on Computer Vision (ICCV), 2005
Vladimir Kolmogorov and Yuri Boykov