This repository serves as the course project for Advance in Computer Graphics, Zhejiang Unviersity. In this project, we have implemented the video object segmentation system describe in Video SnapCut: Robust Video Object Cutout Using Localized Classifiers.
In this project, we have implemented all the following:
-
A complete pipeline of Video-SnapCut (Section 2-3 of the paper)
-
Alpha matting (Section 4 of the paper) (We are using this implementation: AlphaMatting)
-
UI for interactive refinement (Section 5 of the paper)
-
Test and comparison against Adobe After Effects' Rotobrush, see our report for more details (Section 6 of the paper)
- OpenCV: 3.4.x
- QT: 5.x
You can build the project using QMake under several platforms. The Qt project file video-snapcut.pro
is in the/video-snapcut-ui/video-snapcut
folder. You can also use Qt Creator to open the project.
- Xue Bai, Jue Wang, David Simons, and Guillermo Sapiro. 2009. Video SnapCut: robust video object cutout using localized classifiers.
- Carsten Rother, Vladimir Kolmogorov, and Andrew Blake. 2004. "GrabCut": interactive foreground extraction using iterated graph cuts.
- Y. Y. Boykov and M. -. Jolly. 2001. "Interactive graph cuts for optimal boundary & region segmentation of objects in N-D images.