点击上方"brucepk",选择"置顶公众号"

第一时间关注 Python 技术干货!

阅读文本大概需要 5 分钟。

前段时间,一只可爱的小黄鸭火起来了,据说是抖音上一位黄衣小姐姐模仿小黄鸭的动作而走红。这只动作呆萌的小黄鸭表情包也跟着火起来了,小黄鸭表情包也由一只变成多只,颜色也变幻莫测。pk 哥的技术交流群前段时间也被攻陷,群里的小伙伴也是收集了全套的各种版本的小黄鸭。

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

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

程序步骤

实现字符动态图转化只需要 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 imageioimport cv2

拆分图片

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

转化为字符画

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

串联字符画为动态图

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

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

通过这个程序,我们就可以把我们喜欢的图片变成字符画动态图。下面这个用本程序制作的字符画大家知道是谁吗?欢迎在下方小程序的留言区告诉我。

公众号里回复「小黄鸭」获取本文源码。

ps:昨晚 8 点,抽奖送书已结束,恭喜下面三位中奖的同学,@武 @Remind @夫君爱夫人,另外,@武 还没有加我微信联系我,请在我公众号菜单栏找到 联系我--我的微信,加下我微信。没中奖的伙伴也不要失望,以后还会有更多的福利活动的,谢谢大家的支持

「pk哥」以梦为马,不负韶华

长按识别二维码关注


觉得不错,点赞、赞赏、转发朋友圈都是一种支持。

欢迎点击下方小程序给 pk 哥留言

推荐阅读:

30行Python代码实现自动收发邮件

Python爬取微信,我发现了之前没发现的秘密!

Python爬虫下载喜马拉雅音频文件

Python大数据分析年度最短歌曲「贝贝」

用Django框架快速搭建博客


大量 IT 资源免费送,包括但不限于 Python、Java、人工智能、PMP,等等,在公众号内回复「1024」可免费获取。

本公众号的全部文章以整理成目录,后台回复「目录」可查看所有文章。

20行代码制作字符画版小黄鸭表情包 | 文末送书抽奖结果相关推荐

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

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

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

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

  3. 学弟啊,你代码能不能不要写得这么烂?!--文末送书

    点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 作者:沙漠之鹰 www.cnblogs.com/buptzym/archive/2013/05/25/3099389.html 今日封面图 ...

  4. 程序员想干一辈子行不行?只要学会这些软技能就够了|文末送书

    " 程序员这个职业能干一辈子吗? " 知乎上关于这个问题的讨论,答案似乎不容乐观.要么是过了35岁不转型不行:要么年纪越大越学不动:还有公司上升空间有限,不进则退. 总之,程序员想 ...

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

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

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

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

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

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

  8. (文末送书)字符数组与字符串

    字符数组与字符串 引言 字符数组的定义与初始化 字符串的概念与存储 常用的字符串处理函数 送书福利 引言 前面介绍的一维数组与二维数组都是以数值型为例,其实数组中也可以存储字符型数组,称为字符数组.字 ...

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

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

  10. 新书首发 | 《机器学习 公式推导与代码实现》正式出版!(文末送书)

    大家好!我是louwill. 经过一年零三个月的努力,<机器学习 公式推导与代码实现>已于日前正式出版了. 关注过这本书的公众号读者应该知道,这本书在系列原创机器学习30讲的基础上,并参考 ...

最新文章

  1. HDFS读写过程解析
  2. 密码必须至少为6个字符_【每日一题】| 常见的编码方式之栅栏密码
  3. Swift之深入解析Key Paths的功能与应用
  4. shell判断文件是否存在[转]
  5. [vue] vue生命周期总共有几个阶段?
  6. 运营商取消话费余额有效期后改收闲置费
  7. WiredTiger存储引擎知多少?
  8. 【英语学习】【WOTD】wiseacre 释义/词源/示例
  9. php ajax base64,jQuery实现文件编码成base64并通过AJAX上传的方法
  10. python找第二大的数索引_python – 在numpy数组中查找多个值的行索引
  11. python程序封装成exe_如何将python脚本封装成exe程序?
  12. linux恢复群晖数据,群晖 篇二:群晖系统恢复手记
  13. 2017第34届广州国际特许连锁加盟展览会会刊(参展商名录)
  14. 可以说是迄今为止最好用的右键菜单管理工具
  15. 当当网商品详情API接口(当当商品详情接口,当当商品问答接口,当当抢购价接口,当当商品列表接口,当当商品评论接口)代码对接教程
  16. 由于系统错误 1114:动态连接库(DLL)初始化例程失败。(MySQL ODBC 5.3 Unicode Driver,c:\Program Files(x86)\MySQL\Connector
  17. 【Django | 开发】面试招聘网站(增加csv,excel导出企业域账号集成日志管理功能)
  18. C#高效编程 改进C#代码的50个行之有效的办法(第2版)
  19. 从实际性能剖析,为什么MEMS激光雷达才是未来主流?
  20. 8421法 十六进制和二进制之间的转换

热门文章

  1. 递归走楼梯or斐波那契数列
  2. 达索系统基于3DEXPERIENCE平台开发工具介绍
  3. N-gram 语言模型
  4. Vuejs 的入门(笔记)
  5. 杨百翰大学计算机科学专业,杨百翰大学有哪些专业_专业排名
  6. 第一次学游泳技巧_包你第一次下水就能学会游泳的方法
  7. win10多用户同时登陆
  8. Mac安装Royal TSX
  9. 见过世面的程序员,到底有多厉害
  10. 连续型随机变量及其概率密度(习题部分)