Need help with FaceSubstitution?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

430 Stars 121 Forks Other 34 Commits 20 Opened issues


Face substitution experiments using ofxFacetracker

Services available


Need anything else?

Contributors list

No Data


This repository stores some experiments from Arturo Castro and Kyle McDonald exploring realtime face substitution using face tracking and cloning. These examples here are based on a few other packages, including:

They all require openFrameworks. FaceSubstitution and ScrambleSuit require ofxCv and ofxFaceTracker. Example projects are provided as openFrameworks XCode projects. To compile on other operating systems, you should first build a working ofxCv project, then an ofxFaceTracker project, and finally switch out the source for the example you're interested in.

Keep in mind that openFrameworks, ofxCv, and ofxFaceTracker are constantly evolving. To compile these examples you'll need versions of each that were released before or at the same time that the commit was made, as newer versions may be incompatible.


Demonstrates a GPU-based clone using OpenCV to compute the masked blur. This is easily realtime for camera-sized video, and provides the most accurate "fake" clone.


Demonstrates a GPU-based clone that uses GLSL shaders to compute the masked blur. This can be significantly faster than the CPU clone, but does not have the same accuracy due to the multi-pass blur computation.


Provides a single class

, that wraps the GPUCloning approach with a simple interface.
contains the shader source inline, which means you only need
to do cloning -- no extra files are required.


Uses CloningWrapper with ofxFaceTracker to clone a face from disk onto a face in real time.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.