使用Python将视频文件转换为在控制台中跳动的字符
之前在抖音里看到,正好想学习python,就搜索了一些资料,开始写。
使用opencv+pil
if __name__ == '__main__':
cap = cv2.VideoCapture('3.mp4')
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
im=Image.fromarray(frame)
im = im.resize((WIDTH,HEIGHT),Image.NEAREST)
txt=""
for i in range(HEIGHT):
for j in range(WIDTH):
txt += get_char(*im.getpixel((j, i)))
txt +='\n'
os.system('cls')
print(txt)
if cv2.waitKey(30) & 0xFF == ord('q'):
break
cap.release()
采用opencv打开视频文件,最好是背景单纯为白色的那种。例如:

整体思路为:
读入视频 > 缩放 > 根据每个像素点进行灰度化,然后按照比例从ascii_char数组中按照灰度值取出对应的字符(字符按照人眼看到的黑白进行排列) > 将一张图片的所有像素及换行符存在一个字符变量中 > 对控制台清屏后打印该字符串,这样就可以看到动态的效果了。
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
效果如下:

完整代码路径,求一个Star,谢谢~:
Github_Video2Code

本文介绍如何使用Python的OpenCV和PIL库将视频转换为控制台中动态显示的字符艺术。通过读取视频帧,缩放并灰度化,然后映射到ASCII字符,实现视频到字符动画的转换。
853

被折叠的 条评论
为什么被折叠?



