微信小程序> Python史诗级P图换脸小程序,AI换脸的简易版

Python史诗级P图换脸小程序,AI换脸的简易版

浏览量:511 时间: 来源:嗨学编程

用python实现换脸, 我们需要使用第三方的api接口,这里我们需要提前注册一个帐号,获取到相应的key和secret ,注册网址如下:

www.faceplusplus.com

然后准备两张图片,分别为1.jpg和2.jpg ,本次我们需要实现的目标就是将图1上的人脸换成与图2非常相似的人脸,生成新的图片,就叫做3.jpg吧

实现代码

import requestsimport jsonimport osimport reimport base64import simplejson'''python学习交流群:821460695更多学习资料可以加群获取'''key='你的key'secret='你的密钥'#获取图片的人脸特征参数def find_face(imgpath):    url='https://api-cn.faceplusplus.com/facepp/v3/detect'    data = {'api_key':key,'api_secret':secret,'image_url':imgpath,'return_landmark':1}    files = {'image_file':open(imgpath,'rb')}    response = requests.post(url,data=data,files=files)    res_json = response.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)    find_p2 = find_face(image_2)    rectangle1 = str(str(find_p1['top'])+','+str(find_p1['left'])+','+str(find_p1['width'])+','+str(find_p1['height']))   #得到一个坐标    rectangle2 = str(str(find_p2['top'])+','+str(find_p2['left'])+','+str(find_p2['width'])+','+str(find_p2['height']))        page1 = open(image_1,'rb')      #以二进制打开图片1    page1_64 = base64.b64encode(page1.read())    #将字符串转成成base64编码    page1.close()    page2 = open(image_2,'rb')    page2_64 = base64.b64encode(page2.read())    page2.close()    data = {'api_key':key,'api_secret':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('3.jpg','wb') as file:        file.write(image)    print(response)if __name__ == '__main__':        change_face('1.jpg','2.jpg')

执行上面的代码 , 我们来看一下结果,中间那张图,则是我们换脸之后的图
小程序

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎