Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arturoc/FaceSubstitution
Face substitution experiments using ofxFacetracker
https://github.com/arturoc/FaceSubstitution
Last synced: about 1 month ago
JSON representation
Face substitution experiments using ofxFacetracker
- Host: GitHub
- URL: https://github.com/arturoc/FaceSubstitution
- Owner: arturoc
- License: other
- Created: 2011-10-11T14:22:06.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2024-01-09T16:52:48.000Z (11 months ago)
- Last Synced: 2024-10-27T22:06:37.791Z (about 2 months ago)
- Language: C++
- Homepage:
- Size: 562 KB
- Stars: 436
- Watchers: 48
- Forks: 120
- Open Issues: 20
-
Metadata Files:
- Readme: readme.md
- License: license.md
Awesome Lists containing this project
- awesome - FaceSubstitution - Face substitution experiments using ofxFacetracker (etc)
- awesome - FaceSubstitution - Face substitution experiments using ofxFacetracker (etc)
README
# FaceSubstitution
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:
* [openFrameworks](http://www.openframeworks.cc/)
* [ofxCv](https://github.com/kylemcdonald/ofxCv)
* [ofxFaceTracker](https://github.com/kylemcdonald/ofxFaceTracker)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.
## CPUCloning
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.
## GPUCloning
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.
## CloningWrapper
Provides a single class `Clone`, that wraps the GPUCloning approach with a simple interface. `Clone` contains the shader source inline, which means you only need `Clone` to do cloning -- no extra files are required.
## FaceSubstitution
Uses CloningWrapper with ofxFaceTracker to clone a face from disk onto a face in real time.