python游戏开发之视频转彩色字符动画


Posted in Python onApril 26, 2019

本文实例为大家分享了python视频转彩色字符动画的具体代码,供大家参考,具体内容如下

一、效果

原图:

python游戏开发之视频转彩色字符动画

转换后:

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

python游戏开发之视频转彩色字符动画

二、代码

开头几行代码,自己看着调整,把效果调到最佳就ok。

依赖库:

pip install opencv-python

pip install pygame

代码:

import pygame
import cv2
 
FONT_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:
   break
 cap.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)
 
 # 生成surface
 sur_list = []
 for img in imgs:
  height, width, color = img.shape
  surface = pygame.Surface(WIN_SIZE)
  a = 0
  x, y = 0, 0
  for row in range(height):
   x = 0
   for col in range(width):
    # 获取当前像素RGB
    rgb = img[row][col]
    rgb[0], rgb[2] = rgb[2], rgb[0]
    text_texture = btnFont.render(STR_TEXT[a], True, rgb)
    a = a + 1
    a = a % len(STR_TEXT)
    surface.blit(text_texture, (x, y))
    x = x + FONT_SIZE
   y = y + FONT_SIZE
  sur_list.append(surface)
 
 # 游戏主循环
 current_frame = 0
 while 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 += 1
  current_frame %= len(sur_list)
  # 刷新界面
  pygame.display.flip()
 
 
if __name__ == '__main__':
 main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现统计英文单词个数及字符串分割代码
May 28 Python
Tornado协程在python2.7如何返回值(实现方法)
Jun 22 Python
python中reload(module)的用法示例详解
Sep 15 Python
python matplotlib坐标轴设置的方法
Dec 05 Python
python书籍信息爬虫实例
Mar 19 Python
Python学习笔记之列表推导式实例分析
Aug 13 Python
pytorch使用指定GPU训练的实例
Aug 19 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
Oct 11 Python
Win系统PyQt5安装和使用教程
Dec 25 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
Mar 24 Python
Keras自定义实现带masking的meanpooling层方式
Jun 16 Python
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
Jun 21 Python
python接口自动化测试之接口数据依赖的实现方法
Apr 26 #Python
python使用参数对嵌套字典进行取值的方法
Apr 26 #Python
python将视频转换为全字符视频
Apr 26 #Python
使用Python创建简单的HTTP服务器的方法步骤
Apr 26 #Python
Python3.5内置模块之random模块用法实例分析
Apr 26 #Python
python3.5安装python3-tk详解
Apr 26 #Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
Apr 26 #Python
You might like
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
php面向对象全攻略 (二) 实例化对象 使用对象成员
2009/09/30 PHP
php UTF8 文件的签名问题
2009/10/30 PHP
PHP数据库调用类调用实例(详细注释)
2012/07/12 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
在html页面中包含共享页面的方法
2008/10/24 Javascript
javascript操作JSON的要领总结
2012/12/09 Javascript
用jquery存取照片的具体实现方法
2013/06/30 Javascript
IE8下String的Trim()方法失效的解决方法
2013/11/08 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
2014/03/12 Javascript
ExtJS4如何给同一个formpanel不同的url
2014/05/02 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
JavaScript中判断函数、变量是否存在
2015/06/10 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
js正则表达式验证密码强度【推荐】
2017/03/03 Javascript
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
原生js实现省市区三级联动代码分享
2018/02/12 Javascript
js 实现在2d平面上画8的方法
2018/10/10 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
JS实现前端动态分页码代码实例
2020/06/02 Javascript
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[45:59]完美世界DOTA2联赛PWL S2 FTD vs GXR 第二场 11.22
2020/11/24 DOTA
python有证书的加密解密实现方法
2014/11/19 Python
举例详解Python中的split()函数的使用方法
2015/04/07 Python
node.js获取参数的常用方法(总结)
2017/05/29 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
Python字符串三种格式化输出
2020/09/17 Python
使用HTML5技术开发一个属于自己的超酷颜色选择器
2013/09/22 HTML / CSS
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
应届生骨科医生求职信
2013/10/31 职场文书
临床医学专业学生的自我评价分享
2013/11/21 职场文书
中药学自荐信
2014/06/15 职场文书
退学证明范本3篇
2014/10/29 职场文书
党风廉政教育心得体会2016
2016/01/22 职场文书
2016年九九重阳节活动总结
2016/04/01 职场文书