badapple制作

Posted My_serendipity

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了badapple制作相关的知识,希望对你有一定的参考价值。

badapple制作

  1. 原版视频的抽帧,生成每一帧的图像
  2. 图像专制为字符文档
  3. 在控制台实现输出

用python的opencv模块和os模块就很方便

//安装cv2模块:
pip install opencv-python
//这个慢(超时)可以用镜像
//os模块在python中属于内置模块,即不需要额外安装。

不知道为什么,闪屏

import cv2 as cv
import os
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\\|()1{}[]?-_+~<>i!lI;:,\\"^`\'.")
length = len(ascii_char)
#加载视频
cap = cv.VideoCapture(\'C:/Users/Vincent/Desktop/badapple.mp4\')
while True:
	#读取每一帧
	hasFrame,frame = cap.read()
	if not hasFrame:
		break
	#视频长宽
	width = frame.shape[0]
	height = frame.shape[1]
	#转灰度图
	img_gray = cv.cvtColor(frame,cv.COLOR_RGB2GRAY)
	image_resize = cv.resize(img_gray,(int(width/5),int(height/15)))
	text = \'\'
	#遍历图片像素点
	for r in image_resize:
		for pixel in r:
			#根据像素值,选择对应字符
			text += ascii_char[int(pixel/256*length)]
		text += \'\\n\'
	#清屏
	os.system(\'cls\')
	#输出生成的字符画
	print(text)

以上是关于badapple制作的主要内容,如果未能解决你的问题,请参考以下文章

炸裂!上手三天,就在开发板上播放BadApple, 还是Python香

Linux编译mplayer播放badapple及编译fbv加载图片(基于V3S预告板子要开源了)

Linux编译mplayer播放badapple及编译fbv加载图片(基于V3S预告板子要开源了)

Linux编译mplayer播放badapple及编译fbv加载图片(基于V3S预告板子要开源了)

python 用于在终端中运行的sublime text 3的简单代码片段制作工具

为啥此代码片段返回意外结果?