前段时间,一只可爱的小黄鸭火起来了,据说是抖音上一位黄衣小姐姐模仿小黄鸭的动作而走红。这只动作呆萌的小黄鸭表情包也跟着火起来了,小黄鸭表情包也由一只变成多只,颜色也变幻莫测。

作为一个合格的程序猿,我们怎么能落后,我们要做出符合程序猿标志的小黄鸭,我们把小黄鸭的动态图变成字符型的小黄鸭动态图。直接上图,一张原版小黄鸭图,一张程序猿标志的字符型小黄鸭。ps:字符画图离远点看可能更有效果哦!

这个程序怎么做呢?不要急,我给你分析下这个程序怎么实现。

程序步骤

实现字符动态图转化只需要 3 步,合久必分,分久必合。

  1. 把原动态图拆分成一帧一帧的图片。

  2. 把拆分的每帧图片转化为字符画。

  3. 把每帧字符画图片组合成动态图。

程序环境

语言:Python 3.6
编辑器:Pycharm

第三方库安装

运行程序前,我们需要安装两个重要的库,第一个是 Imageio,它是一个 Python 库,提供了一个简单的界面来读取和写入各种图像数据,包括动画图像,体积数据和科学格式。 它是跨平台的,可在 Python 2.7 和 3.4+ 上运行,并且易于安装。

用 pip 命令可以快速安装,因工作需要,我电脑装了 Python2.7 和 Python3.6 两个版本,我用数字对不同版本进行了区分,如果你的电脑只安装了一个版本,可以把前面 python3 -m 命令去掉,直接用 pip 后面的命令即可。

python3 -m pip install imageio

需要安装的第二个库是 opencv-python 库,OpenCV 是一个基于 BSD 许可(开源)发行的跨平台计算机视觉库,可以运行在 Linux、Windows、MacOS 操作系统上。它轻量级而且高效——由一系列 C 函数和少量C++类构成,同时提供了 Python、Ruby、MATLAB 等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。简言之,通过 openCV 可实现计算机图像、视频的编辑。广泛应用于图像识别、运动跟踪、机器视觉等领域。

python3 -m pip install opencv-python

导入编辑器

把上面安装好的两个库在编辑器 Pycharm 的 settings/Interpreter 中安装好并在程序中导入,说明下,opencv-python 这个库这次只用到其中的 cv2 模块,所以只需导入这个模块。

import imageio
import cv2

拆分图片

先定义好原始图片和处理后的图片的保存路径,这个大家运行程序前需要换成你自己需要转化的图片路径和转换后字符画图片的路径和名称。然后用 imageio 中的 mimread 方法读取原动态图,把动态图每帧都拆分成若干张图片。

转化为字符画

应用上面定义好的图片灰度与字符的映射,把上面的每帧图片都转化为字符画,并保存在一个列表中。

串联字符画为动态图

最后把刚才处理好的每帧的字符画通过 imageio 库里的 mimsave 方法组合成动态图,变成字符动态图。

imageio.mimsave(dealPic, A, 'GIF', duration=0.1)   # 把A列表里的字符画组合起来,变成动态图
print('转化完成,请到你保存的路径下查看')

通过这个程序,我们就可以把我们喜欢的图片变成字符画动态图

20行代码制作字符画版小黄鸭表情包相关推荐

  1. 字符画君君C语言,20行代码制作字符画版小黄鸭表情包 | 文末送书抽奖结果

    点击上方"日常学python",选择"置顶公众号" 第一时间关注 Python 技术干货! 阅读文本大概需要 5 分钟. 前段时间,一只可爱的小黄鸭火起来了,据 ...

  2. python画动态小黄鸭_20行代码制作字符画版小黄鸭表情包

    前段时间,一只可爱的小黄鸭火起来了,据说是抖音上一位黄衣小姐姐模仿小黄鸭的动作而走红.这只动作呆萌的小黄鸭表情包也跟着火起来了,小黄鸭表情包也由一只变成多只,颜色也变幻莫测.pk 哥的技术交流群前段时 ...

  3. python画动态小黄鸭_抖音小黄鸭动态朋友圈封面,这效果太炫酷了

    原标题:抖音小黄鸭动态朋友圈封面,这效果太炫酷了 大家好,我是辰由,这两天满屏的小黄鸭表情包,一早就有小伙伴问我朋友封面怎样设置成动态的小黄鸭,动态的!动态的!动态的!效果不能再酷炫,先放给大家看下视 ...

  4. Python Turtle库绘制小黄脸表情包

    Python Turtle库绘制小黄脸表情包 下面只有一个表情的代码 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__: "TC ...

  5. 10行代码制作群聊提醒小助手,再也不怕漏掉消息了

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 胸中有誓深于海,肯使神州竟陆沉? ...

  6. html小黄鸭教程,钩针图解|可可爱爱的仿真版小黄鸭,只有一个字:像!

    618超级红包来啦,每天可以领的.天气终于热起来,万一手气爆棚,置办空调.风扇啥啥的,说不定用得上.再不济,薅点日常消耗品也是好的,能省一块是一块嘛!(淘口令:(WoefXUFHNRS)/) 领好红包 ...

  7. python代码提示太弱了_10行Python代码制作群聊提醒小助手,再也不怕漏掉消息了...

    前言 大家还记得教会父母玩微信是什么时候吗?父母学会后,我们的生活就发生了「质」的变化,父母也许会 吐槽你的微信头像不好,要你换一个头像. 最近 pk哥 又被母后大人吐槽了,原因是亲戚微信群里某个亲戚 ...

  8. python制作课程表提醒_10行Python代码制作群聊提醒小助手,再也不怕漏掉消息了...

    前言 大家还记得教会父母玩微信是什么时候吗?父母学会后,我们的生活就发生了「质」的变化,父母也许会吐槽你的微信头像不好,要你换一个头像. 最近 pk哥 又被母后大人吐槽了,原因是亲戚微信群里某个亲戚生 ...

  9. 10行Python代码制作群聊提醒小助手,再也不怕漏掉消息了

    前言 大家还记得教会父母玩微信是什么时候吗?父母学会后,我们的生活就发生了「质」的变化,父母也许会 吐槽你的微信头像不好,要你换一个头像. 最近 pk哥 又被母后大人吐槽了,原因是亲戚微信群里某个亲戚 ...

  10. python画动态表情包_真香!一行Python代码,帮你制作小姐姐的表情包,靠谱吗?...

    原标题:真香!一行Python代码,帮你制作小姐姐的表情包,靠谱吗? (我的IU女神) 对于小姐姐的动态表情包,相必我们大多数人都不会拒绝,而且都会选择默默的将其收藏(不要问我怎么知道的),一方面小姐 ...

最新文章

  1. mysql ibd文件还原_Mysql 通过ibd文件恢复数据
  2. 如何有效利用项目管理工具提高工作效率?
  3. Android记事本开发02
  4. (七十九)MapKit的基本使用
  5. Cow Relays POJ - 3613
  6. Day 13 Python 一之helloworld
  7. emmap erlang_erlang的map基本使用
  8. Channel使用技巧
  9. 莫比乌斯带catia建模_独家教程 | 循环曲面“莫比乌斯”,康石石教你Rhino“3步”快速打造...
  10. UML建模系列文章总结 [转]
  11. vue 组件中的钩子函数 不能直接写this
  12. java socket 异常处理_socket编程报异常java.io.EOFException
  13. bzoj 1619: [Usaco2008 Nov]Guarding the Farm 保卫牧场(DFS)
  14. java实例化泛型_Java让泛型实例化的方法
  15. java回复功能_Java实现评论回复功能
  16. 博客线下推广的小技巧
  17. 清理注册表 php,怎样清理注册表?
  18. Java实现微信开发者-测试账号申请及配置
  19. 双机热备——上下层交换机负载分担
  20. Chapter 14

热门文章

  1. 民生银行计算机研发笔试题,民生银行提前批 “民芯计划” 技术岗笔试算法题...
  2. 小米8鸿蒙系统,小米手机刷鸿蒙系统
  3. [论文解读] Bridging Machine Learning and Logical Reasoning by Abductive Learning
  4. 详解数据库的第一范式、第二范式、第三范式、BCNF范式
  5. 苏宁11.11:苏宁双十一大促保障经验
  6. ansible常见模块
  7. C# OpenCv 证件照换底色
  8. devc语言图形编程教程_C语言编程工具:Dev - C++ 简单安装和使用!新手福利!
  9. Google地图实时轨迹
  10. Bitbucket Cloud recently stopped supporting account passwords for Git authen报错解决