Awesome Open Source
Awesome Open Source

KNN Matting

Qifeng Chen, Dingzeyu Li, Chi-Keung Tang
The Hong Kong University of Science and Technology
CVPR 2012 / TPAMI 2013

KNN Matting

Installation Steps

Linux and Mac

run "bash" to download all the required libraries and data. It would take several minutes to tens of minutes, depending on the network connection.

Windows or Manual Installation

  • Download the VLFeat library and extract into the same directory.
  • Download the training dataset from .
  • Extract corresponding files into ${KNN_MATTING_DIR}/vlfeat/ and ${KNN_MATTING_DIR}/data/, for details please see the ${KNN_MATTING_DIR}/src/run_demo.m.

Optional Data

  • SVBRDF data from Jason Lawence, the inverse shaded tree database.

Running the Demo

We have been running our codes since Matlab R2011b. The latest version of code is tested on Matlab R2015a. Please let us know if you run into problem.

The input method 1.Left click on each layer (Press Space to seperate layers) Enter to terminate

Parameters to change are input at the begining of the code lambda: see equ(12) level: the degree of spatial coherence. normally between 0.5 and 3 factor: the degree of hue. normally between 0.5 and 3 im: an image or BRDF data scrib: scribble l: input windows size is (l*2+1)^2 nn: the number of neighbors. It can be a vector of two elements. For example [10;2] means 10 neighbors with default(level) spatial coherence and 2 neighbors with weak spatial coherence.

Note: Scribble inputs in RGB space usually perform better than HSV space.

More Information

For more information, please go to our project site for the detailed paper.


The code is free for academic/research purpose. Use at your own risk and we are not responsible for any loss resulting from this code. Feel free to submit pull request for bug fixes.


Qifeng Chen ([email protected]) and Dingzeyu Li ([email protected])

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
matlab (868
segmentation (252
vision (77
knn (30
nearest-neighbor-search (27

Find Open Source By Browsing 7,000 Topics Across 59 Categories