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

作为一个合格的程序猿,我们怎么能落后,我们要做出符合程序猿标志的小黄鸭,我们把小黄鸭的动态图变成字符型的小黄鸭动态图。

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

程序步骤

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

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

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

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

程序环境

语言:Python 3.6

编辑器:Pycharm

第三方库安装

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

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

Python

python3 -m pip install imageio

1

python3 -m pip install imageio

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

Python

python3 -m pip install opencv-python

1

python3 -m pip install opencv-python

导入编辑器

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

Python

import imageio

import cv2

1

2

import imageio

import cv2

拆分图片

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

转化为字符画

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

串联字符画为动态图

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

Python

imageio.mimsave(dealPic, A, 'GIF', duration=0.1) # 把A列表里的字符画组合起来,变成动态图

print('转化完成,请到你保存的路径下查看')

1

2

imageio.mimsave(dealPic,A,'GIF',duration=0.1)# 把A列表里的字符画组合起来,变成动态图

print('转化完成,请到你保存的路径下查看')

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

python画动态小黄鸭_20行代码制作字符画版小黄鸭表情包相关推荐

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

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

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

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

  3. python编程小游戏代码-Python小游戏之300行代码实现俄罗斯方块

    前言 本文代码基于 python3.6 和 pygame1.9.4. 俄罗斯方块是儿时最经典的游戏之一,刚开始接触 pygame 的时候就想写一个俄罗斯方块.但是想到旋转,停靠,消除等操作,感觉好像很 ...

  4. python小游戏源码-Python小游戏之300行代码实现俄罗斯方块

    Python小游戏之300行代码实现俄罗斯方块 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: Python小游戏之300行代码实现俄罗斯方块.txt ] (友情提示:右键点上 ...

  5. python编写小游戏代码_Python小游戏之300行代码实现俄罗斯方块

    Python小游戏之300行代码实现俄罗斯方块 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: Python小游戏之300行代码实现俄罗斯方块.txt ] (友情提示:右键点上 ...

  6. python小游戏-16行代码实现3D撞球小游戏!-源码下载

    python小游戏-16行代码实现3D撞球小游戏!-源码下载 所属网站分类: 资源下载 > python小游戏 作者:搞笑 链接: http://www.pythonheidong.com/bl ...

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

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

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

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

  9. python100行代码-怎样写贪吃蛇小游戏?用100行python代码轻松解决!

    大家小时候都玩过贪吃蛇吧?小编小时候可喜欢拿爸妈的手机玩了,厉害着呢!今天,小编就来用100行代码实现一个简易版的贪吃蛇.在网上,贪吃蛇教程蛮多的,但要安装蛮多库的,而且也不够清晰,今天的代码比较短, ...

最新文章

  1. 我的makefile写法(一)
  2. Flask框架(一)
  3. BZOJ2005 [NOI2010]能量采集
  4. Unity最新官方下载地址 - Unity Download
  5. ubuntu上搭建wiki系统
  6. 出租车收费管理系统(MyEclipse+Java)
  7. java扫雷初级代码_运行在Eclipse环境下的java扫雷游戏的初级代码是什么?
  8. 自然语言处理数据集-20个
  9. 不只是coding_不只是外表
  10. 衡量电子计算机性能指标是,衡量计算机的性能指标有
  11. 怎么开启微信蓝牙服务器,微信加群,电脑蓝牙怎么打开,教你一个最简单的方法...
  12. sis防屏蔽程序_智能化弱电工程屏蔽机房基础知识
  13. 移动通信电波传播及损耗(二)
  14. windows +linux(ubuntu) 2020.7 双系统最新安装心得
  15. freeRTOS出现任务卡死的情况。
  16. 18-《致橡树》-舒婷
  17. cve-2019-0708 msf 执行报错解决
  18. 笑傲江湖客户端服务器地址修改,笑傲江湖.新手上路.MUD客户端
  19. 最新:苹果或将推出“软件锁”,防止用户更换非原装电池
  20. 论文笔记-VulDeeLocator: A Deep Learning-based Fine-grained Vulnerability Detector

热门文章

  1. 【Java编程学习】案例 5-5 二月天
  2. iOS 13 navigationBar的背景色失效
  3. Unity 贝塞尔曲线制作迁徙图
  4. Unity花屏解决方案
  5. 有实物销售的传销行为应如何认定
  6. 银行木马BANLOAD加入FIFA世界杯足球赛
  7. 冯诺依曼计算机体系在现代微机中的应用,冯诺依曼体系结构 冯诺依曼计算机的基本原理...
  8. 2018秋招blibli算法工程师
  9. 合成孔径雷达图像信息处理
  10. AnimationPath路径动画实现详解