最近在网上看到一个用python实现的200行的换脸程序,觉得挺有意思的,就在自己的电脑上跑了一下,觉得还是挺有趣的,于是自己学习了代码,原代码是实现双眼鼻子和嘴巴区域的转换,我做了一些小改变,实现整个人脸区域的转换。下面就学习一下如何顺利的将此份代码跑起来并同时对代码中的一些函数做一个简单的解释。
1. 环境的配置
笔者是在windows7系统下搭建环境的,采用的是anaconda4.2.0,里面的python版本为python2.7.12。anaconda的安装比较简单,安装完成后运行cmd输入python显示如下图则说明python安装成功。
下面就是opencv和dlib的安装:
opencv的安装:笔者使用的是opencv2.4.9,点击下载得到的exe文件将opencv解压到某一目录下,比如D:\Program Files\opencv,该目录下有两个文件夹,一个build一个sources,然后将D:\Program Files\opencv\build\python\2.7\x64目录下的cv2.pyd复制到D:\Program Files\anaconda\Lib\site-packages下即可。同样在终端输入python之后import cv2,如果不报错,则说明安装成功。
dlib的安装:最简单的安装方式是敲一条命令即可,打开cmd窗口,输入conda install -c menpo dlib=18.18,如果提示成功安装很好,不然的话估计会很麻烦,笔者没有试过,这样安装完成后同样import dlib,不提示出错则说明安装成功。
至此,环境已搭建好,下面就可以使用pycharm运行程序了。
2. 代码的运行与解读
我们需要两个参数即两张图片作为命令行参数,在pycharm中点击Run-Edit Configurations,然后在脚本参数上添加两张图片名,如下图所示