python游戏开发实战:视频转彩色字符动画
一、效果
原图:
转换后:
效果可通过代码开头几行的参数调节
二、代码
开头几行代码,自己看着调整,把效果调到最佳就ok。
依赖库:
pip install opencv-python
pip install pygame
import pygame
import cv2FONT_SIZE = 18 # 字体大小,可自行调整
WIN_SIZE = (1440, 1000) # 窗口大小,可自行调整
VIDEO_SIZE = (30, 30) # 视频大小,可自行调整
VIDEO_PATH = './cat.gif' # 视频文件(可以为常见的视频格式和gif)
STR_TEXT = '假装失智' # 替换字符,可自定义,没有长度限制,但至少得有一个def video2imgs(video_name, size):img_list = []cap = cv2.VideoCapture(video_name)while cap.isOpened():ret, frame = cap.read()if ret:img = cv2.resize(frame, size, interpolation=cv2.INTER_AREA)img_list.append(img)else:breakcap.release()return img_list# 初始化pygame
def main():pygame.init()winSur = pygame.display.set_mode(WIN_SIZE)imgs = video2imgs(VIDEO_PATH, VIDEO_SIZE)btnFont = pygame.font.SysFont("fangsong", FONT_SIZE)btnFont.set_bold(True)# 生成surfacesur_list = []for img in imgs:height, width, color = img.shapesurface = pygame.Surface(WIN_SIZE)a = 0x, y = 0, 0for row in range(height):x = 0for col in range(width):# 获取当前像素RGBrgb = img[row][col]rgb[0], rgb[2] = rgb[2], rgb[0]text_texture = btnFont.render(STR_TEXT[a], True, rgb)a = a + 1a = a % len(STR_TEXT)surface.blit(text_texture, (x, y))x = x + FONT_SIZEy = y + FONT_SIZEsur_list.append(surface)# 游戏主循环current_frame = 0while True:for event in pygame.event.get():if event.type == pygame.QUIT:exit()pygame.time.delay(int(1000 / 24))winSur.fill((0, 0, 0))winSur.blit(sur_list[current_frame], [0, 0])current_frame += 1current_frame %= len(sur_list)# 刷新界面pygame.display.flip()if __name__ == '__main__':main()
python游戏开发实战:视频转彩色字符动画相关推荐
- python游戏开发实战:三阶拼图
一.介绍 本篇文章将使用pygame开发一个拼图小游戏以使读者了解pygame游戏开发的大概流程. 游戏代码几乎没有任何封装,为的就是给读者呈现一个清晰的执行流程. 游戏截图: 二.游戏代码 1.需要 ...
- 自带骚气的Python操作:把视频转换成字符动画
作者 | 小k,专注于 Python 编程,推送各种 Python 干货文章,资源分享,面试真题,爬虫实战.数据分析.(来源:痴海) 编辑 | Emily 前言 谈到程序员,大家的马上想到" ...
- python游戏开发实战:网络游戏Demo(客户端)
一.运行效果 二.介绍 源码github:https://github.com/zxf20180725/pygame-online-demo.git 这只是一个简单的联网程序Demo,代码有很多不严谨 ...
- python游戏开发实战:梦幻西游背包系统
一.效果 整理背包演示 物品叠加演示 拖动窗口演示 二.源码 代码挺多的,我就不贴在博客里了,大家直接在百度网盘下载吧: 链接:https://pan.baidu.com/s/13CUF4cxtQBK ...
- python游戏开发实战:酷跑游戏
一.游戏运行效果 二.简介 游戏操作: 跳跃:空格或继续游戏 前进:D 后退:A 这个项目是我为了快速熟悉pygame写来练手的.项目结构与代码组织方面还存在一些问题.我会在后续的文章中做出改进. 下 ...
- python游戏开发实战:游戏按钮
一.效果 二.简介 游戏中,按钮是必不可少的控件.但是pygame并没有给我们提供相关的功能.那么只能自己写一个啦. 演示工程的下载地址:https://pan.baidu.com/s/1dCgCs8 ...
- python自动化教程_Python自动化开发实战视频课程-全新基础篇_Python教程
教程名称:Python自动化开发实战视频课程-全新基础篇 课程目录: 0001.51CTO学院-01Pythons10 day1 开课前言- _* N, R+ w/ T 0001.51CTO学院-01 ...
- 师傅带徒弟学:Python游戏开发引擎cocos2d-python-关东升-专题视频课程
师傅带徒弟学:Python游戏开发引擎cocos2d-python-299人已学习 课程介绍 Python语言之所以受欢迎,很大的原因是有很多可以使用的库,Python社区也有很多游戏 ...
- 【游戏开发实战】Unity从零开发多人视频聊天功能,无聊了就和自己视频聊天(附源码 | Mirror | 多人视频 | 详细教程)
文章目录 一.前言 二.思考问题与解决方案 1.思考问题 2.解决方案 2.1.Unity中如何开启摄像头并对图像进行采样 2.2.图像如何中转给其他客户端 2.3.如何实现清晰度切换 2.4.客户端 ...
最新文章
- 一个web.Config或app.Config自定义段configSections的示例
- 移动开发:android , IOS html5
- Matplotlib(一)工作流程
- Django的jinja2语法遇到jquery问题: defaultaddress is not defined
- Flyway 数据库脚本版本控制工具
- 背景固定,内容滑动效果 - 仿QQ下载首页
- Keras:模型评估
- 微信小程序(一) 入门
- 【IoT】产品设计:如何写好硬件产品的需求文档?
- 计算机科学导论第5版ppt,计算机科学导论第5讲-1.ppt
- react-native 0.63.4 Xcode升级到13后遇到的问题
- 山东大学软件学院计算机组成原理课程设计实验一
- 安装emmet时pyv8下载失败
- 国开电大 广告心理学 形考任务
- 浏览器显示域名解析错误怎么办
- 根据父母身高预测儿子的身高
- 59.qt quick-qml调色板(颜色取色器)实现、自定义QQuickStyle样式
- R语言:根据经纬度在世界地图上画出各个点
- 3D影视建模:你这个糟老头子坏的很,来看看《糟老头子》制作流程分享
- vue3 导入svg图片