This is the code behind the Switching Eds blog post.

See the link for an explanation of the code.

To run the script you'll need to install dlib (http://dlib.net) including its Python bindings, and OpenCV. You'll also need to obtain the trained model from sourceforge.

Unzip with bunzip2 and change PREDICTOR_PATH to refer to this file. The script is run like so:

./faceswap.py <head image> <face image>

If successful, a file output.jpg will be produced with the facial features from <head image> replaced with the facial features from <face image>.