一、效果

原图:

转换后:

效果可通过代码开头几行的参数调节

二、代码

开头几行代码,自己看着调整,把效果调到最佳就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游戏开发实战:视频转彩色字符动画相关推荐

  1. python游戏开发实战:三阶拼图

    一.介绍 本篇文章将使用pygame开发一个拼图小游戏以使读者了解pygame游戏开发的大概流程. 游戏代码几乎没有任何封装,为的就是给读者呈现一个清晰的执行流程. 游戏截图: 二.游戏代码 1.需要 ...

  2. 自带骚气的Python操作:把视频转换成字符动画

    作者 | 小k,专注于 Python 编程,推送各种 Python 干货文章,资源分享,面试真题,爬虫实战.数据分析.(来源:痴海) 编辑 | Emily 前言 谈到程序员,大家的马上想到" ...

  3. python游戏开发实战:网络游戏Demo(客户端)

    一.运行效果 二.介绍 源码github:https://github.com/zxf20180725/pygame-online-demo.git 这只是一个简单的联网程序Demo,代码有很多不严谨 ...

  4. python游戏开发实战:梦幻西游背包系统

    一.效果 整理背包演示 物品叠加演示 拖动窗口演示 二.源码 代码挺多的,我就不贴在博客里了,大家直接在百度网盘下载吧: 链接:https://pan.baidu.com/s/13CUF4cxtQBK ...

  5. python游戏开发实战:酷跑游戏

    一.游戏运行效果 二.简介 游戏操作: 跳跃:空格或继续游戏 前进:D 后退:A 这个项目是我为了快速熟悉pygame写来练手的.项目结构与代码组织方面还存在一些问题.我会在后续的文章中做出改进. 下 ...

  6. python游戏开发实战:游戏按钮

    一.效果 二.简介 游戏中,按钮是必不可少的控件.但是pygame并没有给我们提供相关的功能.那么只能自己写一个啦. 演示工程的下载地址:https://pan.baidu.com/s/1dCgCs8 ...

  7. python自动化教程_Python自动化开发实战视频课程-全新基础篇_Python教程

    教程名称:Python自动化开发实战视频课程-全新基础篇 课程目录: 0001.51CTO学院-01Pythons10 day1 开课前言- _* N, R+ w/ T 0001.51CTO学院-01 ...

  8. 师傅带徒弟学:Python游戏开发引擎cocos2d-python-关东升-专题视频课程

    师傅带徒弟学:Python游戏开发引擎cocos2d-python-299人已学习 课程介绍         Python语言之所以受欢迎,很大的原因是有很多可以使用的库,Python社区也有很多游戏 ...

  9. 【游戏开发实战】Unity从零开发多人视频聊天功能,无聊了就和自己视频聊天(附源码 | Mirror | 多人视频 | 详细教程)

    文章目录 一.前言 二.思考问题与解决方案 1.思考问题 2.解决方案 2.1.Unity中如何开启摄像头并对图像进行采样 2.2.图像如何中转给其他客户端 2.3.如何实现清晰度切换 2.4.客户端 ...

最新文章

  1. 一个web.Config或app.Config自定义段configSections的示例
  2. 移动开发:android , IOS html5
  3. Matplotlib(一)工作流程
  4. Django的jinja2语法遇到jquery问题: defaultaddress is not defined
  5. Flyway 数据库脚本版本控制工具
  6. 背景固定,内容滑动效果 - 仿QQ下载首页
  7. Keras:模型评估
  8. 微信小程序(一) 入门
  9. 【IoT】产品设计:如何写好硬件产品的需求文档?
  10. 计算机科学导论第5版ppt,计算机科学导论第5讲-1.ppt
  11. react-native 0.63.4 Xcode升级到13后遇到的问题
  12. 山东大学软件学院计算机组成原理课程设计实验一
  13. 安装emmet时pyv8下载失败
  14. 国开电大 广告心理学 形考任务
  15. 浏览器显示域名解析错误怎么办
  16. 根据父母身高预测儿子的身高
  17. 59.qt quick-qml调色板(颜色取色器)实现、自定义QQuickStyle样式
  18. R语言:根据经纬度在世界地图上画出各个点
  19. 3D影视建模:你这个糟老头子坏的很,来看看《糟老头子》制作流程分享
  20. vue3 导入svg图片

热门文章

  1. c语言中表达式的运算顺序
  2. C语言关系运算符及其运算顺序
  3. weui 必填_weui 弹出层
  4. zhangchanggong001
  5. Web标准的构成、网页的组成、五大浏览器,可以使用HTML搭建出一个基础的网页
  6. Python双色球开奖
  7. RK3399 android7.1 音频底层调试--tinyalsa及相关问题--已解决
  8. 08年刘翔广告收入近亿 冠军身份令身价飙升
  9. LaTeX 符号命令大全(超级详细)
  10. c/c++中的两个反正切函数