帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:SCIP  Numpy  Scipy  Opencv  
Warp, average and morph faces with Python opencv, numpy, scipy

  • 源代码名称:face_morpher
  • 源代码网址:http://www.github.com/alyssaq/face_morpher
  • face_morpher源代码文档
  • face_morpher源代码下载
  • Git URL:
    git://www.github.com/alyssaq/face_morpher.git
  • Git Clone代码到本地:
    git clone http://www.github.com/alyssaq/face_morpher
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/alyssaq/face_morpher
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
  • 面变形器扭曲,平均和变形人脸 ! 脚本将自动检测正面和跳过图像如果没有检测到。

    使用 python,OpenCV,Numpy,scipy,Stasm构建。

    在 python 2.7,python 3.5 + 和 OpenCV 3.2上支持 macOS 高和 64bit Linux

    要求

    其中之一:

    用作本地命令行实用程序

    $ git clone https://github.com/alyssaq/face_morpher

    变形面

    从源到目标图像的变形:

    python facemorpher/morpher.py --src=<src_imgpath> --dest=<dest_imgpath> --plot

    在文件夹中通过一系列图像变形:

    python facemorpher/morpher.py --images=<folder> --out_video=out.avi

    morpher.py ( 粘贴于下面) 中列出的所有选项:

    Morph from source to destination face or
    Morph through all images in a folder
    Usage:
     morpher.py (--src=<src_path> --dest=<dest_path> | --images=<folder>)
     [--width=<width>] [--height=<height>]
     [--num=<num_frames>] [--fps=<frames_per_second>]
     [--out_frames=<folder>] [--out_video=<filename>]
     [--alpha] [--plot]
    Options:
     -h, --help Show this screen.
     --src=<src_imgpath> Filepath to source image (.jpg,. jpeg,. png)
     --dest=<dest_path> Filepath to destination image (.jpg,. jpeg,. png)
     --images=<folder> Folderpath to images
     --width=<width> Custom width of the images/video [default: 500]
     --height=<height> Custom height of the images/video [default: 600]
     --num=<num_frames> Number of morph frames [default: 20]
     --fps=<fps> Number frames per second for the video [default: 10]
     --out_frames=<folder> Folder path to save all image frames
     --out_video=<filename> Filename to save a video
     --alpha Flag to save transparent background [default: False]
     --plot Flag to plot images [default: False]
     --version Show version.

    平均面

    文件夹中所有图像的平均面:

    python facemorpher/averager.py --images=<images_folder> --out=average.png

    averager.py ( 粘贴于下面) 中列出的所有选项:

    Face averager
    Usage:
     averager.py --images=<images_folder> [--blur] [--alpha] [--plot]
     [--width=<width>] [--height=<height>] [--out=<filename>]
     [--destimg=<filename>]
    Options:
     -h, --help Show this screen.
     --images=<folder> Folder to images (.jpg,. jpeg,. png)
     --blur Flag to blur edges of image [default: False]
     --alpha Flag to save with transparent background [default: False]
     --width=<width> Custom width of the images/video [default: 500]
     --height=<height> Custom height of the images/video [default: 600]
     --out=<filename> Filename to save the average face [default: result.png]
     --destimg=<filename> Destination face image to overlay average face
     --plot Flag to display the average face [default: False]
     --version Show version.

    步骤( facemorpher文件夹)

    1定位器

    • 定位面点( 使用 stasm )
    • 对于不同的定位器,返回( x,y ) 控件面点的array

    2.Aligner

    • 通过调整大小,居中和裁剪给给定尺寸来对齐面

    3。Warper

    • 给定 2幅图像及其面点,将一个图像扭曲到另一个
    • Triangulates面点数
    • 仿射变换每个三角形的双线性插值

    4 Morpher

    • 在 2或者更多图像之间变形

    4 Averager

    • 来自 2或者更多图像的平均面

    搅拌机

    变形图像的可选混合:

    • 加权平均
    • 羽化羽化
    • 泊松混合

    示例为 John Malkovich

    在 2图像之间创建变形视频:

    > python facemorpher/morpher.py --src=alyssa.jpg --dest=john_malkovich.jpg--out_video=out.avi

    ( 出。avi播放并录制为 gif )

    gif

    将帧保存到文件夹:

    > python facemorpher/morpher.py --src=alyssa.jpg --dest=john_malkovich.jpg--out_frames=out_folder --num=30

    plot 帧:

    > python facemorpher/morpher.py --src=alyssa.jpg --dest=john_malkovich.jpg--num=12 --plotplot

    文件夹中的所有人脸图像:

    85个图像

    > python facemorpher/averager.py --images=images --blur --alpha--width=220 --height=250average_faces

    用作pip库

    $ pip install facemorpher

    示例

    其他选项与 命令行 完全相同

    import facemorpher
    # Get a list of image paths in a folder
    imgpaths = facemorpher.list_imgpaths('imagefolder')
    # To morph, supply an array of face images:
    facemorpher.morpher(imgpaths, plot=True)
    # To average, supply an array of face images:
    facemorpher.averager(['image1.png', 'image2.png'], plot=True)

    安装后,2二进制文件也可以作为 命令行 实用程序使用:

    $ facemorpher --src=<src_imgpath> --dest=<dest_imgpath> --plot
    $ faceaverager --images=<images_folder> --plot

    详细信息

    文档

    http://alyssaq.github.io/face_morpher

    构建&发布文档

    ./scripts/publish_ghpages.sh

    许可证



    文章标签:Opencv  Numpy  Scipy  SCIP  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语