㈠ 如果你忽然打了一个喷嚏,那一定是因为你不会用Python写王心凌《爱你》字符画啊!
在快节奏的现代生活中,王心凌的《爱你》成为了中年男孩的回忆,而00后却在用Python创作字符画。作为一个紧跟时代、宠爱粉丝的仙女,我怎能不带领大家一同进步?今天,我们就来亲手制作王心凌的字符画,体验从代码到艺术的奇妙旅程。
字符画是一种由字符组成的图片艺术,通过不同字符表达各种颜色和层次感,它比手工绘制更高效。使用Python,我们仅需几行代码即可轻松实现这一转变。让我们开始吧!
**准备工作**
- 开发工具:PyCharm
- 开发环境:Python 3.7,Windows 10
- 使用工具包:PIL、cv2、numpy
让我们先将项目思路明确定位,将王心凌的视频转化为字符画视频。首先准备一段王心凌的视频,然后将其分解为单张图片。字符画本质上是将图像转换为字符的集合。
对每张图片进行灰度处理,灰度数据只有黑白,便于控制颜色。将图片数据转换为数组,并通过k聚类算法对图像进行聚类划分。根据亮度情况替换字符,亮度较高的使用数字,较暗的使用字符,将视频中的图片数据全部替换,最后将替换后的图片组合成视频。
**视频拆分**
使用cv2.VideoCapture抽取视频帧,使用read方式读取帧,将数据保存在文件夹中,并以数字命名图片,便于后续提取和使用。
**图片转换字符画**
循环读取文件夹中的所有图片,通过cv2读取图片数据,获取3通道RGB信息,进行灰度处理,使用numpy进行数据转换,降维为类似列表的数据信息。应用kmeans算法对图像数据进行分类,设置矩阵中心数、最大迭代数和试错等级,根据亮度数据替换字符,将字符绘入新画布。
**视频合成**
将所有图片数据重新组合成视频,注意视频数据应尽可能小,帧数越细,生成的视频越大,可能高达几个GB。
**简易源代码分享**
快来动手实践吧!如需更多Python相关资源,可直接获取。