首页 > 卡通形象 > ai漫画人物生成器抖音-用Python实现抖音上的“人像动画”特效,原来这么简单
2023
07-04

ai漫画人物生成器抖音-用Python实现抖音上的“人像动画”特效,原来这么简单

查看大图

作者 | 黄伟

来源 | 数据分析与统计之美

前几天,女朋友带我和她一起玩抖音。 就是这个肖像的动画,我立刻就觉得很好玩。 我心想:既然Python这么强大,我是不是也可以用Python程序来实现这样的操作呢?

哈哈! 当然,我没有能力写这么强大的程序,但是百度可以做到,而且很好用。 百度AI开放平台为我们提供了完整的接口,甚至还贴心地为我们编写了代码。 这些接口也支持很多主流语言,比如Java、Python、PHP、C#等,我们只需直接调用即可。 效果如何? 我们来看看下面的对比图。

查看大图

显示结果

原图和动画图:

查看大图

戴着面具的原图和动画图:

查看大图

那么这样的动漫画面是如何诞生的呢? 今天我就带大家一一探秘。

查看大图

原理分析

在这里,我首先向大家提供以下网址,这是百度AI开放平台关于人像动画、漫画特效的网页:。

这里我们可以上传自己的图片(如图)进行人像动画操作。

查看大图

但? 这不是今天的重点。 如果我想戴面具拍动漫的话,你就倒霉了。

这个页面有一个重要的东西:软件操作人像动画的界面(如图)。 从左边可以看到,这是一个Post请求。 发送请求的URL不完整,需要提供自己的access_token。 同时,发送Post请求不仅需要携带Headers,还需要携带Params参数,其中Headers是固定的,而image参数是图像的Base64编码格式。 Post请求的返回值Response是一个字典,我们这里只需要记住即可。

查看大图

除了上面这些之外,这个URL显示的页面里还有一个很重要的东西:人像动画界面的API文档(如图)吉祥物设计,这个文档可以帮助我们如何写代码,百度够体贴的。

API文档网址:

从图中可以看出,这个API文档不仅包含了漫画的操作,还包含了黑白图像着色、图像修复等一系列操作,非常有趣。 希望大家学完这篇文章之后,能够下去玩其他的操作。

查看大图

通过以上原理分析:要实现人像动画的操作,最终转化为发送Post请求。 要发送 Post 请求,我们需要获取 Access_token 参数。

查看大图

Access_token参数获取

获取Access_token参数需要使用百度的认证机制。 以下是authentication认证机制的URL。 本页详细介绍了我们如何获取自己的Access_token参数。

认证认证机制URL:

查看大图

仔细看这个页面的文档,我们不难发现:获取Access_token参数就是发送一个Post请求,而该请求的返回值是一个字典,里面包含了我们想要获取的access_token参数。

[从官网获取的AK] &client_secret=[从官网获取的SK]

上面是Post请求的URL,但是可以看出这个URL是不完整的。 它还要求我们在官网获取我们的【从官网获取的AK】和【从官网获取的SK】,其中AK指的是API Key,SK指的是Secret Key。

通过上面的分析:为了获取Access_token参数,同样发送了一个Post请求,而发送Post请求,我们需要找到自己的API Key和Secret Key。

查找API密钥和秘密密钥

查看大图

首先,登录百度智能云网站。 这个网站需要我们扫码登录ai漫画人物生成器抖音ip形象,我们根据提示即可登录。

百度智能云:

当出现如下页面时,我们就完成了图中的操作。

查看大图

当出现以下页面时,我们点击应用程序列表。

查看大图

如您所见,我已经创建了两个应用程序。 如果您是第一次创建,这里什么也没有,只需点击创建应用程序即可。 请记住:这里是我们想要的 API Key 和 Secret Key。

查看大图

当出现以下界面时,完成以下操作。

查看大图

创建成功后,可以直接查看应用列表,最终页面如下。

查看大图

点击展开后,我们可以查看某个API的使用次数。 由于有些API接口并不总是免费的,有效次数用完后,需要付费才能使用。 下图中还可以看到,人像动画操作大约有500次空闲。

查看大图

查看大图

代码显示

1)人像导入请求不戴口罩的简单人像动画,base64 # 该函数的操作是获取access_token参数 def get_access_token(): url = '' data = { 'grant_type': 'client_credentials', # 固定值'client_id': '3j8EWb6rgg..SPY2X693LBy', # 开放平台注册后构建的应用的 API Key 'client_secret': 'Px9KZuU0Gl…jTKktoCopnIWEiF57gf' # 构建的应用的 Secret Key } res = requests.post(url , data=data) res = res.json() #print(res) access_token = res['access_token'] return access_token # 下面的代码是API文档中的代码,直接使用即可。 request_url = "" f = open('zhao.jpg', 'rb') # 以二进制方式打开图片文件 img = base64.b64encode(f.read()) # 将图片转换为base64格式,即在百度API文档 请求的params = {"image":img} access_token = '24.11731cd1f0…9f9b3a930f917f3681b.2592000.1596894747.282335-21221990' request_url = request_url + "?access_token=" + get_ac cess_token() headers = { '内容类型': ' application/x-www-form-urlencoded'} response = requests.post(request_url, data=params, headers=headers) res = response.json() # 前面我们说过这个请求返回一个字典,其中之一其中一个key是image,代表处理后的图像信息。

# 写入该图像信息,得到最终的渲染结果。 if res: f = open("kouzhao4.jpg", 'wb') after_img = res['image'] after_img = base64.b64decode(after_img) f.write(after_img) f.close()2) 人像动画,以及为肖像导入请求戴上口罩,base64 # 该函数的操作是获取access_token参数 def get_access_token(): url = '' data = { 'grant_type': 'client_credentials', # 固定值 'client_id': ' 3j8EWb6rgg.. .SPY2X693LBy', # 开放平台注册后构建的应用的 API Key 'client_secret': 'Px9KZuU0Gl…jTKktoCopnIWEiF57gf' # 构建的应用的 Secret Key } res = requests.post(url, data=data ) res = res .json() #print(res) access_token = res['access_token'] return access_token request_url = "" # 以二进制方式打开图片文件 f = open('zhao.jpg', 'rb') img = base64.b64encode(f .read()) # 注意:这里多了类型参数和mask_id参数ai漫画人物生成器抖音,都可以在源文档中查看。

# type的值为anime或anime_mask。 前者生成二维动画图像,后者生成戴着面具的二维动画肖像。 # 1到8之间的整数,用于指定所使用的掩码的编码。 你可以自己下去尝试一下。 params = {"image":img,"type":'anime_mask',"mask_id":"2"} access_token = '24.11731cd1f0…9f9b3a930f917f3681b.2592000.1596894747.282335-21221990' request_url = request_url + "?access_token = = + get_access_token() headers = {'content-type': 'application/x-www-form-urlencoded'} response = requests.post(request_url, data=params, headers=headers) res = response.json() # print (res) if res: f = open("kouzhao5.jpg", 'wb') after_img = res['image'] after_img = base64.b64decode(after_img) f.write(after_img) f.close()更多精彩推荐机器学习算法容易受到攻击吗? 阿里的“安全基础设施”长期有这样不安全的代码来应对AI,而GitHub上一直流传腾讯员工每天工作时间不足8小时就被解雇? 背后的原因或许不止你所看到的5G:新基建的压舱石,如何为新基建按下“加速键”? 中国人工智能市场突破50亿! 你还不了解AI云服务吗? 黑客奖励活动第二阶段 | 全球黑客10万美元悬赏,aelf跨链转账标准协议CCTP等你来挑战!点击分享、点击点赞、点击观看

最后编辑:
作者:nuanquewen
吉祥物设计/卡通ip设计/卡通人物设计/卡通形象设计/表情包设计