只需短短20行代码,就能轻松制作字符版小黄鸭表情包!
在2018年最后的两个月,一只可爱的小黄鸭火起来了,据说是抖音上一位黄衣小姐姐模仿小黄鸭的动作而走红。这只动作呆萌的小黄鸭表情包也跟着火起来了,小黄鸭表情包也由一只变成多只,颜色也变幻莫测。由于小黄鸭表情包非常魔性,很快就被很多人收集了全套的各种版本的小黄,小编也不例外。
作为一个合格的程序猿,我们怎能落后于别人,我们要做出符合程序猿标志的小黄鸭,因此我们把小黄鸭的动态图变成字符型的小黄鸭动态图。直接上图,一张原版小黄鸭图,一张程序猿标志的字符型小黄鸭。ps:字符画图离远点看可能更有效果哦!
这个程序怎么做呢?不要急,来听我给大家分析分析。
如果大家在学习Python的路上,或者打算学习Python需要学习资料,可以加群571799375,群里学习资料免费赠送大家喔(各个阶段的资料都有,基础学习资料偏多)!
程序步骤
实现字符动态图转化只需要 3 步,合久必分,分久必合。
把原动态图拆分成一帧一帧的图片。
把拆分的每帧图片转化为字符画。
把每帧字符画图片组合成动态图。
程序环境
语言:Python 3.6
编辑器:Pycharm
第三方库安装
运行程序前,我们需要安装两个重要的库,第一个是 Imageio,它是一个 Python 库,提供了一个简单的界面来读取和写入各种图像数据,包括动画图像,体积数据和科学格式。 它是跨平台的,可在 Python 2.7 和 3.4+ 上运行,并且易于安装。
用 pip 命令可以快速安装,因工作需要,我电脑装了 Python2.7 和 Python3.6 两个版本,我用数字对不同版本进行了区分,如果你的电脑只安装了一个版本,可以把前面 python3 -m 命令去掉,直接用 pip 后面的命令即可。
python3 -m pipinstallimageio
需要安装的第二个库是 opencv-python 库,OpenCV 是一个基于 BSD 许可(开源)发行的跨平台计算机视觉库,可以运行在 Linux、Windows、MacOS 操作系统上。它轻量级而且高效——由一系列 C 函数和少量C++类构成,同时提供了 Python、Ruby、MATLAB 等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。简言之,通过 openCV 可实现计算机图像、视频的编辑。广泛应用于图像识别、运动跟踪、机器视觉等领域。
python3-mpip install opencv-python
导入编辑器
把上面安装好的两个库在编辑器 Pycharm 的 settings/Interpreter 中安装好并在程序中导入,说明下,opencv-python 这个库这次只用到其中的 cv2 模块,所以只需导入这个模块。
importimageioimportcv2
拆分图片
先定义好原始图片和处理后的图片的保存路径,这个大家运行程序前需要换成你自己需要转化的图片路径和转换后字符画图片的路径和名称。然后用 imageio 中的 mimread 方法读取原动态图,把动态图每帧都拆分成若干张图片。
转化为字符画
应用上面定义好的图片灰度与字符的映射,把上面的每帧图片都转化为字符画,并保存在一个列表中。
串联字符画为动态图
最后把刚才处理好的每帧的字符画通过 imageio 库里的 mimsave 方法组合成动态图,变成字符动态图。
imageio.mimsave(dealPic, A,'GIF', duration=0.1)# 把A列表里的字符画组合起来,变成动态图print('转化完成,请到你保存的路径下查看')
通过这个程序,我们就可以把我们喜欢的图片变成字符画动态图。下面这个用本程序制作的字符画大家知道是谁吗?欢迎在下方留言区告诉我喔。
好了,本文到此就结束啦,小伙伴有没有get到这项新技能啊?需要源码的可以加群571799375领取喔!
本文来自网络,如有侵权,请联系小编删除!