目录

前言

一.百度智能云平台账号的创建

二.python调用百度API接口实现人脸融合

1.在百度智能云上获取token

2.调用API接口实现人脸融合

3.主程序

三.完整项目代码

四.对生成图片的后续处理

1.批量修改图片大小

2.批量修改图片的类型


前言

人脸造假技术最近几年很流行,利用生成对抗网络实现人脸生成等技术层出不穷,生成造假人脸和利用神经网络识别造假的人脸也是必要的。

一.百度智能云平台账号的创建

详细的创建步骤详见下面链接

https://blog.csdn.net/Yhen1/article/details/109409575https://blog.csdn.net/Yhen1/article/details/109409575

二.python调用百度API接口实现人脸融合

1.在百度智能云上获取token

client_id为官网获取的API Key,client_secret为官网获取的Secret Key.将下行client_id=后的....换为你的API Key,client_secret=后的....换为你的Secret Key

2.调用API接口实现人脸融合

3.主程序

三.完整项目代码

下面是调用百度API接口实现人脸融合


import requests
import base64
import json# 获取token
def get_token(client_id, client_secret):
# client_id为官网获取的API Key,client_secret为官网获取的Secret Key.将下行client_id=后的....换为你的API Key,client_secret=后的....换为你的Secret Keyurl = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=aFRkmkiCGpGZxUKfj8zY7Yak&client_secret=Ht9NmCICXtnfCVjfIkYneSPo8z9qaeGg"response = requests.get(url)resultJson = response.json()return resultJson['access_token']# 根据图片名读取图片,并转换成base64
def read_photo(name):with open('%s' % name, 'rb') as f:base64_data = base64.b64encode(f.read())bd = base64_data.decode()return bd# 调用百度的接口,实现融合图片
def face_fusion(token, template, target):url = 'https://aip.baidubce.com/rest/2.0/face/v1/merge'request_url = url + '?access_token=' + tokenparams = {"image_template": {"image": template,"image_type": "BASE64","quality_control": "NORMAL"},"image_target": {"image": target,"image_type": "BASE64","quality_control": "NORMAL"},"merge_degree": "HIGH"}params = json.dumps(params)headers = {'content-type': 'application/json'}result = requests.post(request_url, data=params, headers=headers).json()if result['error_code'] == 0:res = result["result"]["merge_image"]down_photo(res)else:print(str(result['error_code'])+result['error_msg'])# 下载融合后图片
def down_photo(data):imagedata = base64.b64decode(data)file = open(r'C:\Users\Administrator\Desktop\fake_image\\102.jpg', "wb")    #修改为自己的路径,'wb'不改file.write(imagedata)# 主程序
if __name__ == '__main__':# 这里的融合用一个男一个女的效果比较不错,所以用boy和girl命名# 路径按照自己的图片路径来boy = read_photo('results/1.jpg')girl = read_photo('results/2.jpg')token = get_token('aFRkmkiCGpGZxUKfj8zY7Yak', 'Ht9NmCICXtnfCVjfIkYneSPo8z9qaeGg')    # 第一个改为API Key,第二个改为Secret Keyface_fusion(token, boy, girl)

四.对生成图片的后续处理

1.批量修改图片大小

'''批量修改图片的尺寸(像素大小)'''from PIL import  Image
import os
path="C:/Users/Administrator/Desktop/real"  #图片所在的文件夹路径
for maindir, subdir,file_name_list in os.walk(path):print(file_name_list)for file_name in file_name_list:image=os.path.join(maindir,file_name) #获取每张图片的路径file=Image.open(image)out=file.resize((600,600),Image.ANTIALIAS)  #以高质量修改图片尺寸为(400,48)out.save(image)

2.批量修改图片的类型

"""批量改变图片的类型"""import osclass BatchRename():def __init__(self):self.path = 'C:/Users/Administrator/Desktop/data-1'  #表示需要命名处理的文件夹目录,复制地址后注意反斜杠def rename(self):filelist = os.listdir(self.path)   #获取文件路径total_num = len(filelist)  #获取文件长度(文件夹下图片个数)i = 1  #表示文件的命名是从1开始的for item in filelist:if item.endswith('.jpg') or item.endswith('.jfif'):  #初始的图片的格式为jpg格式的(或者源文件是png格式及其他格式,后面的转换格式就可以调整为自己需要的格式即可,我习惯转成.jpg)src = os.path.join(os.path.abspath(self.path), item)dst = os.path.join(os.path.abspath(self.path), format(str(i)) + '.jpg')#处理后的格式也为jpg格式的,当然这里可以改成png格式# 这种情况下的命名格式为000xxxx.jpg形式,可以自主定义想要的格式try:os.rename(src, dst)print ('converting %s to %s ...' % (src, dst))i = i + 1except:continueprint ('total %d to rename & converted %d jpgs' % (total_num, i))if __name__ == '__main__':demo = BatchRename()demo.rename()

利用百度图像处理API接口实现人脸融合相关推荐

  1. python 接入百度地图数据包下载_Python爬虫-利用百度地图API接口爬取数据并保存至MySQL数据库...

    首先,我这里有一份相关城市以及该城市的公园数量的txt文件: 分析-02.png 其次,利用百度地图API提供的接口爬取城市公园的相关信息. 所利用的API接口有两个: 1.http://api.ma ...

  2. 利用百度云API接口上传照片进行植物识别

    第一步还是引库,确定自己安装过这些库了,没有安装的需要自行安装 import requests import base64 import os #os库是下面多张图片进行识别的,如果一次识别一张图片就 ...

  3. 利用百度地图API接口自制地图

    首先注册成为开发者百度地图开放平台 | 百度地图API SDK | 地图开发 创建一个服务器端应用,这个应用是为了查询地点的经纬度 把地点存一个csv文件,为了查询准确把市和区补在地点前面,通过pyt ...

  4. python 利用百度推广API接口,每日调整关键词价格,关键词点击率大于10%的进行降低价格和点击率小于4%进行增加价格

    步骤 1.查询昨日关键词报告,获取点击率大于10%和点击率小于4%的关键词信息. 2.调整价格信息,关键词点击率大于10%的关键词价格调整为原价格的95% 关键词点击率小于4%且价格小于10元的,将价 ...

  5. 百度天气预报API接口的一个坑

    由于疫情的关系不能出门,所以在家学习微信小程序的开发,利用百度天气预报API接口来获取天气数据,折腾了一天,总是获取不到天气数据,搞得我一头雾水... 今天我下载了百度的demo程序,利用里面提供的J ...

  6. python批量爬取小网格区域坐标系_Python爬虫实例_利用百度地图API批量获取城市所有的POI点...

    上篇关于爬虫的文章,我们讲解了如何运用Python的requests及BeautifuiSoup模块来完成静态网页的爬取,总结过程,网页爬虫本质就两步: 1.设置请求参数(url,headers,co ...

  7. Python3调用百度地图API接口获取结构化地址

    在实际应用中,我们也许会有这样的需求,输入一个地名,就能够知道这个地方的准确地址.例如输入"清华大学",我们就可以知道清华大学在北京的哪个区哪条道路.正好百度地图开放平台服务提供了 ...

  8. 调用百度地图API接口制作热力图

    调用百度地图API接口制作热力图 Python学了很久,也做了一些机器学习的demo,利用matolotlib库做过一些可视化.今天呢想尝试做一下热力图.先PO一张我最终效果图. 因为数据原因,效果一 ...

  9. 百度地图利用位置提供服务器,利用百度地图API获取当前位置信息的实例

    利用百度地图API可以做很多事情,个人感觉最核心也是最基础的就是定位功能了.这里分享一个制作的JS可以实现登录网页后定位: var map; var gpsPoint; var baiduPoint; ...

  10. php查询ip归属地api接口_【php】利用新浪api接口与php获取远程数据的方法,获取IP地址,并获取相应的IP归属地...

    本文与<[Servlet]Javaweb中,利用新浪api接口,获取IP地址,并获取相应的IP归属地>(点击打开链接)为姊妹篇,只是后端编程语言换成了php. 做出同样的效果,打开页面,得 ...

最新文章

  1. 3 html语言是什么,HTML语言剖析(3)
  2. Python3.0 我的DailyReport 脚本(一) 使用COM操作Excel
  3. stdarg.h(c标准库)
  4. 关于ajax 1.0的一个问题?
  5. k8s minikube在wsl中通过nodeport来访问
  6. 在word 2010中采用EndNote X7插入引用
  7. 海量运维、运营规划之道
  8. python 相对导入_Python相对导入机制详解
  9. perl语言入门:子程序
  10. 金蝶专业版怎么反过账当月_金蝶kis怎么反记账-反过账-反结账
  11. psp记忆棒测试软件,psp记忆棒修复工具 ms-format
  12. Windows打开应用,提示“此程序被组策略阻止”
  13. leetcode 1114
  14. 明日之后服务器维修公告维修,《明日之后》排队问题维护进度公告
  15. PATC语言1-50
  16. java.beans.transient_JavaBeans程序开发
  17. i.MX6ULL驱动开发 | 12 - 基于 Linux I2C 驱动读取AP3216C传感器
  18. PC_十进制转二进制速算+常用的2进制和10进制数/转换关系
  19. 第一篇:移动APP开发-Hbuilder下载使用
  20. 两条轨迹相似度算法,轨迹相似性度量

热门文章

  1. 基于穿戴式智能化步态分析仪的步态分析
  2. 华硕飞行堡垒加装固态硬盘和内存条
  3. 探索性测试的概念及方法
  4. 怎么计算机械需要的电机,比方说一个90kw的电机它的最大电流应该是多少?应该用多少平方的铜线?怎么计算呀?...
  5. CAD.NET 选择集操作
  6. 《Python实用爬虫案例》练习8:获取搜狗搜索引擎微信文章
  7. dw自动生成html,如何用Dreamweaver快速创建HTML代码
  8. 计算机如何驱动无线网络,无线网卡驱动怎么安装,小编教你怎么给电脑安装无线网卡驱动...
  9. 线性回归、bagging回归、随机森林回归
  10. C语言面试题 - 结构体对齐