Skip to content
A MATLAB Implementation of GrabCut (Excluding Border Matting and User Editing)
C++ MATLAB HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin_graphcuts
results
README.md
assign_gauss.m
compute_pairwise.m
compute_unary.m
cut_Tu.m
fit_gmm.m
get_rgb_double.m
grabcut.m edit May 17, 2016
select_back.m
update_gmm.m

README.md

grabcut

A MATLAB Implementation of GrabCut (Excluding Border Matting and User Editing)

This project implements

@article{rother2004grabcut,
  title={Grabcut: Interactive foreground extraction using iterated graph cuts},
  author={Rother, Carsten and Kolmogorov, Vladimir and Blake, Andrew},
  journal={ACM Transactions on Graphics (TOG)},
  volume={23},
  number={3},
  pages={309--314},
  year={2004},
  publisher={ACM}
}

in MATLAB, and it excludes border matting and user editing. That is, it implements everything up to

Iterative minimisation 4. Repeat from step 1 until convergence

as in Figure 3 in the original paper.

Results

Example Usage

GAMMA = 20;
% Inputs and parameters
im_in = imread('./grabcut/results/test4.jpg');
% GrabCut
im_out = grabcut(im_in, GAMMA);
imwrite(im_out, './grabcut/results/test4_out.jpg');

Acknowledgement

The author would like to thank the Computer Vision Research Group at the University of Western Ontario for making their implementation of the max-flow/min-cut algorithm publicly available here.

You can’t perform that action at this time.