Construit avec Python, Dlib, Numpy, Scipy, Dlib.
pip install -r requirements.txtDLIB_DATA_DIR vers le dossier où se trouve shape_predictor_68_face_landmarks.dat . data par défaut. Par exemple, export DLIB_DATA_DIR=/Downloads/dataSoit:
$ git clone https://github.com/alyssaq/face_morpher
Se transformer d'une source à l'image de destination:
Python facemorpher / morpher.py --src = <src_imgpath> --dest = <estr_imgpath> --plot
Traverser une série d'images dans un dossier:
Python facemorpher / morpher.py --images = <hosteur> --out_video = out.avi
Toutes les options répertoriées dans morpher.py (collées ci-dessous):
Se transformer de la source à la face de destination ou
Se transformer à travers toutes les images d'un dossier
Usage:
morpher.py (--src = <src_path> --dest = <st_path> | --images = <holder>)
[--width = <width>] [- Height = <Sight>]
[--num = <num_frames>] [--fps = <frames_per_second>]
[--out_frames = <holder>] [--out_video = <fileName>]
[--plot] [- Background = (noir | transparent | moyenne)]]
Options:
-H, --help afficher cet écran.
--src = <src_imgpath> filepath to source image (.jpg, .jpeg, .png)
--dest = <st_imgpath> filepath to Destination Image (.jpg, .jpeg, .png)
--images = <holder> Path de dossier sur les images
--width = <largeur> Largeur personnalisée des images / vidéo [par défaut: 500]
--Height = <Sight> Hauteur personnalisée des images / vidéo [par défaut: 600]
--num = <num_frames> Nombre de trames Morph [par défaut: 20]
--fps = <fps> Numéro de trames par seconde pour la vidéo [par défaut: 10]
--out_frames = <dossier> chemin de dossier pour enregistrer toutes les trames d'image
--out_video = <nom de fichier> nom de fichier pour enregistrer une vidéo
--Plot indicateur pour tracer des images pour résultat.png [par défaut: false]
--Background = <bg> l'arrière-plan des images pour être l'un des (noir | transparent | moyenne) [par défaut: noir]
- Version Show.
Visages moyens de toutes les images d'un dossier:
Python facemorpher / Averager.py --images = <images_folder> --out = moyen.png
Toutes les options répertoriées dans averager.py (collées ci-dessous):
Faceur du visage
Usage:
Averager.py --images = <images_folder> [--blur] [--plot]
[- Background = (noir | transparent | moyenne)]]
[--width = <width>] [- Height = <Sight>]
[--out = <FileName>] [--Destimg = <Felename>]
Options:
-H, --help afficher cet écran.
--images = <polder> Folder to Images (.jpg, .jpeg, .png)
- Flag à floral pour brouiller les bords de l'image [par défaut: false]
--width = <largeur> Largeur personnalisée des images / vidéo [par défaut: 500]
--Height = <Sight> Hauteur personnalisée des images / vidéo [par défaut: 600]
--out = <nom de fichier> nom de fichier pour enregistrer la face moyenne [par défaut: result.png]
--Destimg = <nom de fichier> Image de face de destination pour superposer la face moyenne
--Plot indicateur pour afficher la face moyenne [par défaut: false]
--Background = <bg> arrière-plan de l'image pour être l'un des (noir | transparent | moyenne) [par défaut: noir]
- Version Show.
Mélange facultatif de l'image déformée:
> python facemorpher/morpher.py --src=alyssa.jpg --dest=john_malkovich.jpg--out_video=out.avi(Out.avi a joué et enregistré comme gif)
> python facemorpher/morpher.py --src=alyssa.jpg --dest=john_malkovich.jpg--out_frames=out_folder --num=30> python facemorpher/morpher.py --src=alyssa.jpg --dest=john_malkovich.jpg--num=12 --plot85 images utilisées
> python facemorpher/averager.py --images=images --blur --background=transparent--width=220 --height=250$ pip installer facemorpher
Les options supplémentaires sont exactement les mêmes que la ligne de commande
Importer un visage
# Obtenez une liste de chemins d'image dans un dossier
imgpaths = facemorpher.list_imgpaths ('imagefolder')
# Pour morph, fournit un tableau d'images de visage:
facemorpher.morpher (imgpaths, tracé = true)
# À la moyenne, fournissez un tableau d'images de visage:
facemorpher.averager (['image1.png', 'image2.png'], tracé = true)
Une fois installé PIP, 2 binaires sont également disponibles en tant qu'utilitaire de ligne de commande:
$ facemorpher --src = <src_imgpath> --dest = <st_imgpath> --plot $ faceAverager --images = <images_folder> --plot
Montez le dossier local sur / images dans Docker Container, exécutez-le et entrez une session bash. --RM supprime le conteneur lorsque vous le fermez.
$ docker run -v / utilisateurs / alyssa / bourse / images: / images --name py3 --rm -it jjanzic / docker-python3-opencv bash
Une fois que vous êtes dans le conteneur, installez facemorpher et essayez les exemples énumérés ci-dessus
root @ 0dad0912ebbe: / # pip installer facemorpher root @ 0dad0912ebbe: / # facemorpher --src = <img1> --dest = <img2> --plot
http://alyssaq.github.io/face_morpher
./scripts/publish_ghpages.sh
Mit