OPENCV将视频转换为图像帧并且进行ASCII码的转换

该博客介绍了一种使用Python将视频转换为ASCII字符动画的方法。首先通过OpenCV将视频拆分成帧图像,然后将图像转换为ASCII字符,最后将处理过的字符图像合成为新的视频。整个过程涉及视频读取、图像处理、字符映射和视频编码等技术。

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

众所周知,每段视频是由一帧帧图像构成,Opencv处理视频图像信息的原理就是将视频转为一帧帧的图像,将图像帧根据需求进行处理后,再将图像帧处理转换为视频,即可达到处理视频的目的。

本实验我们将需要处理的视频准备好了后,利用Python的一系列库函数如Opencv,将视频转换为一批帧图像,再通过代码函数对帧图像的像素进行处理,将其转换为字符串,最后将所有处理好的帧图像转换为视频进行播放,即可达到视频处理的目的。。

本案例的实现过程主要分为以下几步

1.导入数据
2.导入库函数;
3.将视频转化为图像帧;
4.对图片帧进行ASCII码的转换;
5.将转换好的图片帧合成视频;

案例实现代码

1.导入数据

```

!wget -N https://cnnorth4-modelhub-datasets-obsfs-sfnua.obs.cn-north-4.myhuaweicloud.com/content/35d24c0e-f337-442b-935f-ef8123062d3e/QzNm9F/dataset/test_demo0510.mp4 ```

2.导入库函数

```

导入Python库

import cv2 from PIL import Image,ImageFont,ImageDraw import os from cv2 import VideoWriter, VideoWriter_fourcc, imread, resize ```

3.将视频转化为图像帧

```

将视频转换为图片存入目标文件夹

​ def videotopic(vp):   number = 0       # 判断载入的视频是否可以打开   if vp.isOpened():               #r:布尔型 (True 或者False),代表有没有读取到图片,frame:表示截取到的一帧的图片的数据,是个三维数组       r,frame = vp.read()               #判断文件夹是否存在,不存在的话则新建文件夹       if not os.path.exists('cachepic'):           os.mkdir('cachepic')       os.chdir('cache_pic')           else:       r = False           #遍历视频,并将每一帧图片写入文件夹   while r:       number += 1       cv2.imwrite(str(number)+'.jpg',frame)       r,frame = vp.read() &nbs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宋小童

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值