Construído com Python, Dlib, Numpy, Scipy, Dlib.
pip install -r requirements.txtDLIB_DATA_DIR para a pasta onde shape_predictor_68_face_landmarks.dat está localizado. data padrão. Por exemplo, export DLIB_DATA_DIR=/Downloads/dataQualquer:
$ git clone https://github.com/alyssaq/face_morpher
Morph de uma fonte para a imagem de destino:
Python Facemorpher/morpher.py - -src = <src_imgpath> - -dest = <st_imgpath> --plot
Transformando -se através de uma série de imagens em uma pasta:
python facemorpher/morpher.py --images = <foust> -out_video = out.avi
Todas as opções listadas em morpher.py (colado abaixo):
Morph de fonte para face de destino ou
Transformando -se em todas as imagens em uma pasta
Uso:
morpher.py (--src = <src_path>--dest = <st_path> | --images = <fouster>)
[--width = <width>] [--height = <tight>]
[--num = <Mum_Frames>] [--fps = <Frames_per_second>]
[--out_frames = <foust>] [-out_video = <FileName>]
[--Plot] [--background = (preto | transparente | média)]
Opções:
-h, --help Mostra esta tela.
--src = <src_imgpath> filepath para a imagem de origem (.jpg, .jpeg, .png)
--dest = <SST_IMGPATH> filepath para a imagem de destino (.jpg, .jpeg, .png)
--Images = <foust> pastapath para imagens
--Width = <warth> Largura personalizada das imagens/vídeo [Padrão: 500]
-Hight = <tight> Altura personalizada das imagens/vídeo [Padrão: 600]
--num = <Mum_Frames> Número de quadros de morph [Padrão: 20]
--fps = <fps> quadros numéricos por segundo para o vídeo [padrão: 10]
-out_frames = <fulder> Caminho da pasta para salvar todos os quadros de imagem
--out_video = <NOMEM> nome do arquivo para salvar um vídeo
-Sinalizador de plot para plotar imagens para resultado.png [padrão: false]
--background = <bg> Antecedentes das imagens são uma de (preto | transparente | média) [Padrão: Black]
-Versão para mostrar.
Rostos médios de todas as imagens em uma pasta:
Python Facemorpher/averager.py --images = <Images_folder> -out = média.png
Todas as opções listadas em averager.py (colado abaixo):
FACE AVERAGER
Uso:
averager.py --images = <Images_folder> [--BLUR] [--PLOT]
[--background = (preto | transparente | média)]
[--width = <width>] [--height = <tight>]
[--out = <FileName>] [--destimg = <FileName>]
Opções:
-h, --help Mostra esta tela.
--Images = <Pasta> pasta para imagens (.jpg, .jpeg, .png)
-BLIR BLAND TO BOIXA BORDAS DE IMAGEM [PADRÃO: FALSE]
--Width = <warth> Largura personalizada das imagens/vídeo [Padrão: 500]
-Hight = <tight> Altura personalizada das imagens/vídeo [Padrão: 600]
--out = <Nomeame> nome do arquivo para salvar a face média [padrão: resultado.png]
--destimg = <Nomeame> Imagem de face de destino para sobrepor a face média
-Plot sinalizador para exibir a face média [padrão: false]
--background = <bg> Antecedentes da imagem para ser um dos (preto | transparente | média) [Padrão: Black]
-Versão para mostrar.
Mistura opcional de imagem distorcida:
> python facemorpher/morpher.py --src=alyssa.jpg --dest=john_malkovich.jpg--out_video=out.avi(Out.avi tocou e gravado como 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 imagens usadas
> python facemorpher/averager.py --images=images --blur --background=transparent--width=220 --height=250$ pip install facemorpher
As opções adicionais são exatamente iguais à linha de comando
importar facemorpher
# Obtenha uma lista de caminhos de imagem em uma pasta
imgpaths = facemorpher.list_imgpaths ('imagefolder')
# Para transformar, forneça uma variedade de imagens de rosto:
facemorpher.morpher (imgpaths, plot = true)
# Para média, forneça uma variedade de imagens de rosto:
facemorpher.aveger (['image1.png', 'image2.png'], plot = true)
Depois que o Pip instalado, 2 binários também estão disponíveis como um utilitário de linha de comando:
$ facemorpher - -src = <src_imgpath> - -dest = <st_imgpath> --plot $ faceaverager --images = <Images_folder> --plot
Monte a pasta local para /imagens no recipiente do Docker, execute -o e insira uma sessão de bash. -RM remove o contêiner quando você o fecha.
$ Docker Run -v/Users/Alyssa/Desktop/Images:/Images -Nome Py3 - -RM -it Jjanzic/Docker -Python3 -Opencv Bash
Quando estiver no contêiner, instale facemorpher e experimente os exemplos listados acima
raiz@0dad0912ebbe:/# pip install facemorpher raiz@0dad0912ebbe:/# facemorpher - -src = <mg1> - -dest = <mg2> --plot
http://alyssaq.github.io/face_morpher
./scripts/publish_ghpages.sh
Mit