女朋友存了好多网上的男明星的照片,我准备全部换成我的脸!在线人脸合成

正文 乐搜网   2020-07-22   60



最近发现女朋友的手机和电脑里面存了好多男明星的照片

有我认识的,还有好多我不认识!
(醋坛子翻了!)

我要把那些男明星的脸换成我的脸!本来打算用ps来操作,发现工作量有点大,所以就利用python来实现这一伟大工程!

在开始之前,就想找两位国内的男明星做一下测试,看看效果如何!
主要是借助人工智能换脸平台来识别人脸参数,再进行换脸。

女朋友存了好多网上的男明星的照片,我准备全部换成我的脸!在线人脸合成插图

代码如下:

import requests   #导入requests库
import base64    #导入base64库
 
 
 
#借助https://console.faceplusplus.com.cn平台来实现换脸
API_Key = '7LUPX5XQcDUYIXTu-_YMAT-mvEgIRKVQ'    #你自己申请的API Key
API_Secret = '9hDv4cbZhzclm91JOP8AEwc-tTI8pxLx'   ##你自己申请的API Secret
 
 
# 定义一个获取图片的人脸特征参数的函数
def find_face(imgpath):    #查找人脸参数(图片位置)
    url = 'https://api-cn.faceplusplus.com/facepp/v3/detect'    #使用的人脸识别网站
    data = {'api_key': API_Key, 'api_secret': API_Secret, 'image_url': imgpath, 'return_landmark': 1}    #相关个人账号参数等
    files = {'image_file': open(imgpath, 'rb')}    #打开图片
    response = requests.post(url, data=data, files=files)    #用requests.poet()函数将个人账号参数和图片发送到网站
    res_json = response.json()    #转换为json
    faces = res_json['faces'][0][
        'face_rectangle']  # 获取面部大小的四个值,分别为长宽高低{'width': 176, 'top': 128, 'left': 80, 'height': 176}
    return faces    #返回图片的面部参数
 
 
# 定义一个换脸函数,函数中number表示两张脸的相似度为99%
def change_face(image_1, image_2, number=99):
    url = "https://api-cn.faceplusplus.com/imagepp/v1/mergeface"    #使用的换脸网址
    find_p1 = find_face(image_1)    #第1张图片的人脸参数
    find_p2 = find_face(image_2)    #第2张图片的人脸参数
    rectangle1 = str(str(find_p1['top']) + ',' + str(find_p1['left']) + ',' + str(find_p1['width']) + ',' + str(find_p1['height']))  # 得到图片1坐标
    rectangle2 = str(str(find_p2['top']) + ',' + str(find_p2['left']) + ',' + str(find_p2['width']) + ',' + str(find_p2['height']))  # 得到图片2坐标
 
    page1 = open(image_1, 'rb')  #以二进制打开图片1
    page1_64 = base64.b64encode(page1.read())  #将字符串转成成base64编码
    page1.close()  #关闭图片1
 
    page2 = open(image_2, 'rb')   #二进制打开图片2
    page2_64 = base64.b64encode(page2.read())    #将字符串转成成base64编码
    page2.close()   #关闭图片2
 
    data = {'api_key': API_Key, 'api_secret': API_Secret, 'template_base64': page1_64,
            'template_rectangle': rectangle1, 'merge_base64': page2_64, 'merge_rectangele': rectangle2,
            'merge_rate': number}    #参数信息
    response = requests.post(url, data=data).json()    #发送参数到换脸网站
    results = response['result']    #得到返回参数
    image = base64.b64decode(results)    #转换信息
    with open('新图片.jpg', 'wb') as file:    #将信息写入到图片
        file.write(image)
    print("转换完成了!")
 
 
if __name__ == '__main__':
    change_face('胡歌.jpg','黄渤.jpg')

效果看起来还不错,我挺满意,一会就开始对女朋友存的照片下手!

女朋友存了好多网上的男明星的照片,我准备全部换成我的脸!在线人脸合成插图(2)

胡歌

女朋友存了好多网上的男明星的照片,我准备全部换成我的脸!在线人脸合成插图(4)

黄渤

女朋友存了好多网上的男明星的照片,我准备全部换成我的脸!在线人脸合成插图

胡歌+黄渤

如果不会代码,也想玩怎么办

推荐网站:在线人脸合成效果

https://tuguoba.com/faceaverage

女朋友存了好多网上的男明星的照片,我准备全部换成我的脸!在线人脸合成插图(6)

上传图片即可自动合成

相关说明
1、本站大部分资源收集于网络以及网友投稿,本不保证资源的完整性以及安全性,请下载后自行测试。
2、本站所发布的一切非原创资源等仅限用于学习和研究目的;不得用于商业或者非法用途,否则,一切后果请用户自负。
3、本站非原创信息来自互联网收集,版权归原创作者所有,版权争议与本站无关,如有侵权请邮件与我们联系处理。我们会在三个工作日内予以清除。
4、所收取费用仅是收集整理费用,用来维系网站运营,性质为用户友情赞助,并非售卖文件费用,本站不对所实际的版权问题负法律责任。
5、根据2013年1月30日《计算机软件保护条例》为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。鉴于此,本站希望大家严格按此说明研究软件学习,如需商业运营请购买正版!由于未及时购买正版发生的侵权行为,与本站无关。
乐搜网 » 女朋友存了好多网上的男明星的照片,我准备全部换成我的脸!在线人脸合成

发表评论

发表评论

正版源码,海量素材,专业课程应有尽有!

立即查看 了解详情