只要三步,带你用Python换脸

 

作为单身狗的小编,一直希望有女神能看上我,幻想有一天如果自己的女朋友是明星该有多好,让自己的“明星”女友对着...



作为单身狗的小编,一直希望有女神能看上我,幻想有一天如果自己的女朋友是明星该有多好,让自己的“明星”女友对着自己撒娇,是不是感觉人生已经达到了高潮。

哎,白日做梦呀,单纯靠yy是不行的,还好小编在蹉跎岁月的岁月中练就了一身python技能,今天小编就带领大家利用python实现一个换脸的特效,让自己的女友换脸成为我们喜欢的明星,让自己喜欢的女星来对自己撒娇。下面就进入我们的程序吧。

01.小试牛刀

首先,我们要明确应该如何实现换脸呢,我们用一个图来进行展示:



对于换脸,我们需要有一个模板图片和目标图片,例如上图中的娜扎和热巴,我们需要提取到热巴的脸部图片,然后在娜扎的图片中,寻找合适的未知,将热巴的脸覆盖在上面,从而完成我们的换脸。对于我们的制作而言,我们只需要将女朋友的照片换成娜扎的照片,然后就可以将女朋友的脸替换成热巴。

程序如下图所示:



这里需要提一下,小编分别用了百度AI和旷视的平台进行制作,但是旷视的效果要好于百度,所以小编采用旷视的人脸融合平台进行上述的换脸操作。

程序首先以二进制形式读入模板图片和目标图片,并利用base64进行编码。在构建完data的字典数据后,通过post上传数据,便可以获取到返回的json数据,最后将数据写入到本地的图片文件即可。

02.具体的操作

上述的程序只是完成了单个的图片,既没有声音,也没有动作,简单乏味,麻麻赖赖,所以还得继续盘它。接下来我们要制作的就是对于视频的换脸。对于视频换脸,我们的程序是这样构造的。



01).首先是逐帧读取视频完成换脸,程序如下图所示:



上述程序首先需要逐帧读入图片,然后调用merge_face函数完成换脸,将换脸后的图片保存到本地。

02).在完成换脸后,接下来就是将图片合成视频,并将合成视频添加上音频,程序如下图所示:



上述程序中,首先读取所有的图片地址,然后利用opencv,进行视频的合成,最后利用pymovie库完成音频视频的同轨,便完成了最终视频的制作。

最后我们来展示一下合成的视频



怎么样,是不是有内味了,如果大家喜欢其他的明星的话,也可以试着去尝试其他的明星换脸哦。其实我想说,我心目中的女神是神仙姐姐~~ 你呢,来留言区吱一声。



● 80%的人都不知道,全球Python库下载前10名

● 我珍藏的一些好的Python代码,技巧|上篇

● 爬取300本Python书籍,用Python告诉你哪家强?

● 简单几步,100行代码用Python画一个蝙蝠侠的logo

● 我用Python分析了《青春有你2》109位漂亮小姐姐,真香!

● 牛逼操作!用Python做了一个编程语言20年的动态排行榜!

● 我打赌,学会这6招,谁再敢笑你的Python程序慢!
每天分享一些有趣的干货


    关注 菜鸟学Python


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册