人工智能换脸pythonapp,python实现视频ai换脸源代码
importrequestsimportjsonimportsimplejsonimportbase 64 #第一步:获取人脸关键点
def find _ face(图像路径): :参数图像路径:图片的地址
:返回:一个字典类型的人脸关键点如:{top: 156, left: 108, width: 184, height :184 } http _ URL= https://API-cn。faceplus。com/facepp/v3/detect #获取人脸信息的接口
data={ API _ key : x2 nykaa 6 vuarywat 4x 0-NPI BM 9 crw gu ,#访问全球资源定位器(统一资源定位器)所需要的参数
API _ secret : OuHx-xaey1 qrorwdg 7 qetgg 5 jho IC 8g 7 ,#访问全球资源定位器(统一资源定位器)所需要的参数
image_url:imgpath,#图片地址
return_landmark:1}
files={ image _ file :open(img path, rb)} #定义一个字典存放图片的地址
响应=请求。post(http _ URL,数据=数据,文件=文件)
RES _ con 1=响应。内容。解码(“utf-8”)
RES _ JSON=简单JSON。负载(RES _ con 1)
faces=res_json[faces]
list=faces[0]
rectangle=list[ face _ rectangle ]返回rectangle #第二步:实现换脸
defmerge_face(image_url1,image_url2,image_url,number)::param image_url1:被换脸的图片路径
:param image_url2:换脸的图片路径
:param image_url:换脸后生成图片所保存的路径
:参数编号:换脸的相似度
#首先获取两张图片的人脸关键点
face1=find_face(image_url1)
face2=find_face(image_url2)#将人脸转换为字符串的格式
rectangle 1=str(str(face 1[ top ]), str(face1[left]), str(face1[width]), str(face1[height]))
rectangle 2=str(face 2[ top ]), str(face2[left]), str(face2[width]), str(face 2[ height ])#读取两张图片
f1=打开(image_url1, rb )
f1_64=base64.b64encode(f1.read())
f1.close()
f2=打开(image_url2,“rb”)
f2_64=base64.b64encode(f2.read())
f2.close()
URL _ add= https://API-cn。脸plus plus。com/imagepp/v1/merge face #实现换脸的接口
data={ API _ key : x2 nykaa 6 vuarywat x 0-NPI BM 9 crwgu , API _ secret : OuHx-xaey1 qrorwdg 7 qetgg 5 jho IC 8g 7 , template_base64:f1_64, template_rectangle:rectangle1, merge_base64:f2_64, merge_rectangle:rectangle2, merge_rate:number
}
响应1=请求。post(URL _ add,data=data)
RES _ con 1=响应1。内容。解码(“utf-8”)
res_dict=json .JSONDecoder().解码(res_con1)
result=res_dict[result]
imgdata=base64.b64decode(结果)
file=open(image_url, wb )
file.write(imgdata)
文件。close()if _ _ name _ _== _ _ main _ _ :
face1=明兴face2=梅子face3=face1 _ face2 #把面2的脸换到面一图片中的脸上去
image1=r face1 .jpgimage2=r face2 .jpgimage3=r face3 .jpgmerge_face(图像1,图像2,图像3,100)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。