python base64转图片_用Python玩人脸融合,想知道你未来孩子的长相?(附代码)...

c11ceb22b7bc639cd6adb8eb1d202d05.png

这次花了点时间,将百度智能云里面的人脸识别功能与python结合,进行了一场实验。结果还是蛮有成就感的,过程也挺简单,不会复杂,说不定,你就能融合出你孩子的长相了耶~ 下面我们一起敲起键盘吧!

关注,转发,私信小编“01”即可免费领取Python学习资料!

1060c3bef775c8e83f6cbdf6b70faa58.png
cf05ccc46b372bb334c8c2d53d8975d3.png

前期预备

百度AI开放平台

账号注册

用你的百度账号登陆ai.baidu.com,百度AI开放平台。

然后创建一个人脸识别应用,

96ce16f8e2671c4ec2d62b04bc4310aa.png
9cdcbf791325c6a6db8b8f2fb01c3d7e.gif

你就会得到API Key 和 Secret Key,这我们等会代码里要用到,

fc66a4d27bda75d72ac7dfb60afc0100.png

因为每个账号的调用次数都是有限的,只能免费500次,且玩且珍惜。所以你们还是自己申请的好。

da841047a97c9e8e68571233deb8c3fd.png

读接口开发文档...

文档地址: ai.baidu.com/docs#/Face-…

f84dce42b1e968cb95d8feee425ecc30.gif

上面为注意事项,就是post要带header,图片要是base64,还有请求地址等说明,文档还是要仔细看的,等下就会少点错误。

088775fffd6c86ca3f17d9df43be7981.gif

上图是说明你要post过去的数据,比如要template模板图片和target目标文件两张图片,你也可以设置图片类型,图片质量等

49e999990809c24b734e42c0bc087e4d.gif

上图就是说你post过去后,会返回哪些东西的说明。

OK,看完了文档,我们来捋一下思路

思路

60697f7265698c378549d98de17b439a.png

开始Coding...

一点点来开发,不要急于求成:

导入模块

基于经验,我们肯定要用到requests模块,json模块也要用,然后就是base64模块,因为我们要处理图片。这些模块我们都有了,所以直接导入:复制代码import requests ,json,base64

获取Token

Token就是令牌,你要用接口需要取得它的认可,就是我们要用到之前申请的那些key来获取令牌:
56dc8da2ac20f63e1eb2c35dc90bada3.png

获取图片Base64

base64是图片的一种格式,所以要先打开图片,然后转成base64编码才能用复制代码
ccf872f26b7698c6c06deb2232fc7819.png

保存base到本机

因为文档里面告诉我们,返回的图片是base64,所以这里我们还要把base64转成你可以看到的图片。所以:

cf521dbadcc2e401276322c46026c53f.png

注意:代码文件也放在这个文件夹里面。

图片融合

接下来就是最主要的功能了,复制代码
89fbcc0ba6b06770cc3ad87ff58ce589.png

功能测试

在开始调试时,要一点点来测试,不然你那500次调用次数根本不够你用,等你代码写好了,对不起,你的次数用完了,如下图,你还玩个蛋蛋呀!

7ae17528002a47198629706fdbecea62.png
d6a43589e3f0c827630938e8907ea265.png
3475e7433e3218a0e9e6197f04fe54b3.png

下面是我电脑文件夹,注意图片的格式

f7fded1b0d615ee5a32b4f097e71b762.png

然后写几行代码,然后运行一下

d2a9dd1260046a9229cb3a8660508398.png

出现Done!说明代码成功了!我们打开文件夹看看有没有“done.jpg”这张图

cbdbc3bfba9e1b385bd9c3b9febb7409.png
8669aa41e9b4134bfc7d7ae9a3662256.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值