importrequestsimportjsonimportsimplejsonimportbase64#第一步:获取人脸关键点

deffind_face(imgpath):""":param imgpath: 图片的地址

:return: 一个字典类型的人脸关键点 如:{'top': 156, 'left': 108, 'width': 184, 'height': 184}"""http_url= 'https://api-cn.faceplusplus.com/facepp/v3/detect' #获取人脸信息的接口

data ={"api_key":"x2NyKaa6vYuArYwat4x0-NpIbM9CrwGU",#访问url所需要的参数

"api_secret":"OuHx-Xaey1QrORwdG7QetGG5JhOIC8g7",#访问url所需要的参数

"image_url":imgpath, #图片地址

"return_landmark":1}

files= {'image_file':open(imgpath,'rb')} #定义一个字典存放图片的地址

response = requests.post(http_url,data=data,files=files)

res_con1= response.content.decode('utf-8')

res_json=simplejson.loads(res_con1)

faces= res_json['faces']

list=faces[0]

rectangle= list['face_rectangle']returnrectangle#第二步:实现换脸

defmerge_face(image_url1,image_url2,image_url,number):""":param image_url1: 被换脸的图片路径

:param image_url2: 换脸的图片路径

:param image_url: 换脸后生成图片所保存的路径

:param number: 换脸的相似度"""

#首先获取两张图片的人脸关键点

face1 =find_face(image_url1)

face2=find_face(image_url2)#将人脸转换为字符串的格式

rectangle1 = str(str(face1['top']) + "," + str(face1['left']) + "," + str(face1['width']) + "," + str(face1['height']))

rectangle2= str(str(face2['top']) + "," + str(face2['left']) + "," + str(face2['width']) + "," + str(face2['height']))#读取两张图片

f1 = open(image_url1,'rb')

f1_64=base64.b64encode(f1.read())

f1.close()

f2= open(image_url2, 'rb')

f2_64=base64.b64encode(f2.read())

f2.close()

url_add= 'https://api-cn.faceplusplus.com/imagepp/v1/mergeface' #实现换脸的接口

data={"api_key": "x2NyKaa6vYuArYwat4x0-NpIbM9CrwGU","api_secret": "OuHx-Xaey1QrORwdG7QetGG5JhOIC8g7","template_base64":f1_64,"template_rectangle":rectangle1,"merge_base64":f2_64,"merge_rectangle":rectangle2,"merge_rate":number

}

response1= requests.post(url_add,data=data)

res_con1= response1.content.decode('utf-8')

res_dict=json.JSONDecoder().decode(res_con1)

result= res_dict['result']

imgdata=base64.b64decode(result)

file=open(image_url,'wb')

file.write(imgdata)

file.close()if __name__ == '__main__':

face1="mingxing"face2="meizi"face3=face1+"_"+face2 #把face2的脸换到face1图片中的脸上去

image1 = r""+face1+".jpg"image2= r""+face2+".jpg"image3= r""+face3+".jpg"merge_face(image1,image2,image3,100)

人工智能换脸pythonapp_Python实现AI换脸功能相关推荐

  1. python实现视频ai换脸_python 实现 AI 换脸

    #!/usr/bin/python # -*- coding: utf-8 -*- # @Time : 2019/9/1 8:50 # @Author : cuijianzhe # @File : A ...

  2. 人工智能换脸python_Python实现AI换脸功能

    importrequestsimportjsonimportsimplejsonimportbase64#第一步:获取人脸关键点 deffind_face(imgpath):""& ...

  3. python实现视频换脸_Python实现AI换脸功能

    importrequestsimportjsonimportsimplejsonimportbase64#第一步:获取人脸关键点 deffind_face(imgpath):""& ...

  4. Linux下可以给视频换脸吗,视频AI换脸软件教程 看这里

    1.首先确认自己的机器能不能带的动fakeapp,显卡的显存要达到4GB,因为al换脸软件对GPU要求很高,显存低于4GB的话可能会带不起来软件的.内存要求至少要8GB,如果你的机器内存少于8GB,建 ...

  5. python 视频ai换脸_Python实现AI换脸--Faceswap

    "切勿滥用技术,切勿商用" 算法原理 Faceswap ,在 Encoder-Decoder 自编解码架构之上又引入 GAN技术,显著提升换脸效果 Encoder-Decoder ...

  6. CSDN日报190923:盘点那些被AI换脸、一键“脱”衣所滥用的AI模型

    CSDN日报来啦!给大家奉上当日最新鲜的技术干货! 人工智能|盘点那些被AI换脸.一键"脱"衣所滥用的AI模型 作者:beyondma 虽然笔者对于技术的滥用深恶痛绝,但技术本身是 ...

  7. 程序员体验AI换脸就不要用ZAO了,详解Github周冠军项目Faceswap的变脸攻略

    上个月笔者曾在<银行家杂志>发文传统银行如何引领开放银行时代潮流,就曾指出AI换脸等技术的兴起将会我们未来的身份认证手段造成一定的麻烦.而最近ZAO换脸软件再次爆红社交媒体,而且其接近于霸 ...

  8. 5G支持下,人工智能除了AI换脸,还能干什么?

    近年来,一种AI换脸技术在网络人群中掀起火热潮流,也将人工智能这项新兴科技带入到普通人的生活中.人们开始讨论人工智能将给人类带来怎样的改变. 人工智能(Artificial Intelligence) ...

  9. AI绘画,AI绘画小程序软件,AI换脸,AI人工智能绘画

    AI绘画,AI绘画小程序软件,AI换脸,AI人工智能绘画 可前往微信小程序进行体验:AI创意空间 AI创意主流人工智能绘画平台_语言转插画_众多绘画风格,ai绘画激发无限灵感创意,丰富图片细节 此小程 ...

最新文章

  1. Java 8 一行代码解决了空指针问题,太厉害了!
  2. JavaScript类库
  3. 【linux】spinlock 的实现
  4. 什么是parquet文件?
  5. python gil锁存在的意义_关于python的GIL全局解释器锁的简单理解
  6. FlexViewer2.3中拉帘Widget下载
  7. [转]SQL中的case when then else end用法
  8. eclipse插件开发(四) 流程图绘制插件(雏形)
  9. java8新日期时间类使用
  10. tar命令压缩和解压缩
  11. [Mac OS] Mac OS X for x86 下载
  12. 小程序实现tab切换
  13. app支付宝支付java后台_手机APP如何接入支付宝支付(java后台)
  14. 大自然教给我们“知足”的生存方式
  15. dlopen failed: empty/missing DT_HASH in quot;libx.soquot; (built with --hash-style=gnu?)
  16. 屠蛟之路_重伤的屠蛟俊_ThirdDay
  17. 计算机模拟爆破过程,基于LSDYNA岩石爆破模拟建模分析
  18. python编译环境 eclipse_Eclipse python 开发环境配置
  19. 泼辣修图服务器没有响应,泼辣修图使用常见问题整理,为你答疑解惑
  20. python自动生成字幕_深度学习实现自动生成图片字幕

热门文章

  1. 费解的备份corrupt终于搞明白了
  2. 防火墙Mangle-连接标记和包标记-从零开始学RouterOS系列09
  3. 使用循环的方式遍历二叉树
  4. idea导入项目,java文件灰色解决办法
  5. dreamweaver开发jsp问题连接数据库
  6. 怎样才能根除幽门螺旋杆菌?
  7. Oracle dg 不能同步原因分析(ORA-1092 : opitsk aborting process)
  8. map的基本操作函数
  9. java浏览器渲染_浏览器的渲染机制
  10. pythonopencc报错OSError解决方法