文 | 某某白米饭

来源:Python 技术「ID: pythonall」

前几天小编在抖音上刷到一个慢慢变老的视频,播放量居然有 30W+,当时就在想这视频 Python 可不可以做?经过一番搜索,小编找到了腾讯云的人脸年龄变化 API,上面介绍说只要用户上传一张人脸图片,基于人脸编辑与生成算法,就可以输出一张人脸变老或变年轻的图片,并支持实现人脸不同年龄的变化。

准备工作

获取 API 秘钥

第一步,在注册账号之后,打开 API 密钥管理页面(https://console.cloud.tencent.com/cam/capi)获取到 SecretId 和 SecretKey。

第二步,安装腾讯云的 SDK

pip3 install tencentcloud-sdk-python

人脸属性

在人脸年龄变化 API 中有一个 AgeInfo 参数,它包含了 Age 和 FaceRect 两个属性,其中 FaceRect 属性必须填人脸在照片中基于左上角的 X、Y 坐标和人脸的高度与宽度。所以先要调用人脸检测与分析 API 得到这些数据。

下面的示例图是在百度图片中截取的。

import json
import base64
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.iai.v20200303 import iai_client
from tencentcloud.iai.v20200303 import models as models03sid = "xxx"
skey = "xxx"
try: filepath = '/Users/imeng/Downloads/face/face.png'file = open(filepath, "rb")base64_data = base64.b64encode(file.read())cred = credential.Credential(sid, skey) httpProfile = HttpProfile()httpProfile.endpoint = "iai.tencentcloudapi.com"clientProfile = ClientProfile()clientProfile.httpProfile = httpProfileclient = iai_client.IaiClient(cred, "ap-beijing", clientProfile) req = models03.DetectFaceAttributesRequest()params = {"MaxFaceNum":2,"Action":"DetectFace","Version":"2018-03-01","Image": base64_data.decode()}req.from_json_string(json.dumps(params))resp = client.DetectFaceAttributes(req) faceDetailInfos = resp.FaceDetailInfosfor faceDetailInfo in faceDetailInfos:faceRect = faceDetailInfo.FaceRectprint(faceRect)
except TencentCloudSDKException as err: print(err)

示例结果

{"X": 62, "Y": 13, "Width": 145, "Height": 230}
{"X": 426, "Y": 113, "Width": 115, "Height": 139}

修改年龄

在上面已经得到了各个人脸的 X、Y、Width、Height 属性,加上变老的年龄 Age,就可以请求年龄变化 API 了。

这里需要注意的是 models 模块,人脸检测 models 模块是在 tencentcloud.iai.v20200303 包下,人脸年龄变化的 models 是在 tencentcloud.ft.v20200304 下,两个 models 模块并不兼容。

import json
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.ft.v20200304 import ft_client, modelscred = credential.Credential(sid, skey)
httpProfile = HttpProfile()
httpProfile.endpoint = "ft.tencentcloudapi.com"
clientProfile.httpProfile = httpProfile
client = ft_client.FtClient(cred, "ap-beijing", clientProfile) req = models.ChangeAgePicRequest()for age in range(70, 80):
params = {"Image": base64_data.decode(),"AgeInfos": [{"Age": age,"FaceRect": {"Y": faceDetailInfos[0].FaceRect.Y,"X": faceDetailInfos[0].FaceRect.X,"Width": faceDetailInfos[0].FaceRect.Width,"Height": faceDetailInfos[0].FaceRect.Height} },{"Age": age,"FaceRect": {"Y": faceDetailInfos[1].FaceRect.Y,"X": faceDetailInfos[1].FaceRect.X,"Width": faceDetailInfos[1].FaceRect.Width,"Height": faceDetailInfos[1].FaceRect.Height} }],"RspImgType": "base64"
}
req.from_json_string(json.dumps(params))
resp = client.ChangeAgePic(req)
image_base64 = resp.ResultImage
image_data = base64.b64decode(image_base64)
file_path = '/Users/imeng/Downloads/face/{}.png'.format(age)
with open(file_path, 'wb') as f:f.write(image_data)
time.sleep(1)

示例结果

最后的视频可以将图片一张一张插入 PPT 幻灯片,点击保存为视频。

总结

用 Python 制作抖音素材,下一个 30W+ 播放量等着你。

PS:公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!

老规矩,兄弟们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!

代码获取方式】

识别文末二维码,回复:210428

爆肝!用Python制作抖音爆款视频!相关推荐

  1. 打造抖音爆款视频的逻辑是什么?

    截止2021年7月,抖音企业号总数量达800万.存量竞争时代到来,私域运营已成为企业营销的战略标配,抖音企业号也成为越来越多企业私域运营的"必选项". 我们先来看看下面<抖音 ...

  2. 很落地的chatgpt应用场景——批量制作抖音爆款带货文案并直接SEO霸屏1 小时前

    本文用到的工具清单: 1.抖音热点宝(手机端) 2.total control 方便电脑控制手机(苹果用虫洞) 3.轻抖(网页版) 新用户送30分钟,视频文案提取 4.uibot chatgpt超级写 ...

  3. 直播|一小时轻松学会抖音爆款视频制作

    纵观现如今,年轻人的空余时间几乎已经被直播.短视频所占领,手机不离手的现象已经成为了生活常态.这促使了短视频.直播平台拥有足够大的发展市场. 制作视频短片其实是需要比较长的一段时间来进行实际操作的,能 ...

  4. Python制作抖音同款含褶皱面料图

    写在前面的话. 之前在码友slandarer的CSDN主页https://blog.csdn.net/slandarer看到他用MATLAB实现了几个有趣的图片处理趣案例,一时技痒,斗胆留言我也要用p ...

  5. 抖音爆款广告怎么拍?4大技巧助力品牌打造爆款

    在短视频行业快速发展的时期,抖音以其独特的短视频模式让很多品牌展现出更加立体的形象,众多品牌也抓住机遇,利用抖音平台获得更多流量并增强广告的互动性和趣味性,让品牌更具影响力.那么怎么才能拍出爆款广告呢 ...

  6. 如何把照片做成视频?抖音爆款的图片视频切换教程,快速上手!

    现在都流行用照片随手记录生活.而把照片做成视频,又是现在刷爆抖音.朋友圈的形式.不仅有酷炫的图片切换效果,还带有动听的背景音乐,这样精美又吸睛的照片视频,肯定能让你获得超多赞.今天就教大家用数码大师快 ...

  7. 半个月爆肝,Python学习指南:学习方法、路径图、资料都备齐了!

    1.6米长,八年Python使用经验,耗时半月,制作了这张Python学习路径图! 视频大纲: 自己的课代表 1.为什么学习python 00:43 2.python学习路径图和python备忘手册( ...

  8. Python制作当年第一款手机游戏-贪吃蛇游戏(练习)

    前言: 文章利用Python pygame做一个贪吃蛇的小游戏而且讲清楚每一段代码是用来干嘛的. 据说是贪吃蛇游戏是1976年,Gremlin公司推出的经典街机游戏,那我们今天用Python制作的这个 ...

  9. Python实战案例,CV2模块,Python实现抖音字符视频

    前言 利用Python实现抖音字符视频.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: cv2模块: PIL模块: numpy模块: 以及一些Python自带 ...

最新文章

  1. EJB的分类及其各自的功能和应用
  2. java监听器模式使用场景_常用监听器及其应用场景
  3. 图片上传时即时生成多个缩略图
  4. scrapy从入门到放弃 学习项目2
  5. cuda编程_CUDA编程入门(四)并行归约算法
  6. 基于Colab Pro Google Drive的Kaggle实战
  7. 10 个内存引发的大坑,你能躲开几个?
  8. 记录一下很好用的java爬虫代码-很有意思,原理也很简单,一看就懂
  9. 深入详解Java线程池——ThreadPoolExecutor
  10. 手机通话断了怎么显示链接服务器,手机每次通话三分钟就自动挂断了,怎么回事啊...
  11. 淘宝客系统教学系列_1.简单介绍和平台搭建
  12. 唐僧向李世民汇报627年度工作总结报告,堪称国际水平!
  13. QLabel setText 标红 加粗
  14. Unity3D-VR《静夜诗》5-李白吟诗
  15. git学习之时光穿梭机
  16. Redmine3.3.3 搭建与不完全填坑指南
  17. WeBug3.0靶场环境搭建与搭建资源分享
  18. VC设置断点无效的各种解决方法
  19. 数据恢复基础和进阶教程(三)
  20. 网络革命:软件定义网络与网络虚拟化

热门文章

  1. android系统旋转方向定制问题
  2. [Android] Intent启动activity方式
  3. 什么叫智能化印刷管理?
  4. 优雅的python_18式优雅你的Python
  5. 将windows电脑上的图片导入到iphone
  6. 一入测试,深似海,遁入IT,苦随来
  7. 慕测平台ISTC 2022 Practice
  8. 大学毕业后很迷茫不知道干什么?看完这几点你就知道了
  9. android 小米手机选择相册图片截取照片不进onActivityResult报“保存时发生错误,保存失败”
  10. svn取消关联(解除绑定)文件夹