|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 不二如是 于 2022-5-31 09:11 编辑
在线视频:
上面视频中通过 JavaScript 实现用字符来跳舞,这次我们用 Python 来实现。
通常处理图片/音视/视频都是 pillow+opencv+ffmpeg 的组合。
主要分为以下几大步:
- 将原视频转成字符图片
- 将字符图片合成新视频
- 从原视频中提取出背景音乐
- 将背景音乐添加到新视频中
- 如果没配置保留则清除过程文件
- def __init__(self):
- self.config_dict = {
- # 原视频文件
- "input_file": "resource.mp4",
- # 中间文件存放目录
- "cache_dir": "cache",
- # 是否保留过程文件。True--保留,False--不保留
- "save_cache_flag": False,
- # 使用使用的字符集
- "ascii_char_list": list("01B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:oa+>!:+. "),
- }
- # 第一步从函数,将像素转换为字符
- # 调用栈:video_2_txt_jpg -> txt_2_image -> rgb_2_char
- def rgb_2_char(self, r, g, b, alpha=256):
- if alpha == 0:
- return ''
- length = len(self.config_dict["ascii_char_list"])
- gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
- unit = (256.0 + 1) / length
- return self.config_dict["ascii_char_list"][int(gray / unit)]
复制代码
每一步中还有很多细化操作,注释见源码:
dance.py.zip
(2.84 KB, 下载次数: 16, 售价: 3 鱼币)
如果 OpenCV 安不上,可以试试国内清华的镜像:
- pip install opencv-contrib-python -i https://pypi.mirrors.ustc.edu.cn/simple/
复制代码
关于 OpenCV 的玩法可以看:安装 OpenCV 模块【人工智能】 |
|