原标题:酷叮猫编程课堂:python生成字符画

大家好,我是酷叮猫少儿编程的隋老师,今天给大家介绍的是一个非常有意思的小程序。

相信大家都看过很多非常漂亮的图片,那么python如何把图片用字符显示出来呢?

原图是这样的:

生成的字符画是这样的:

是不是很有意思!那接下来就和老师一起来编写这个程序吧。

一、首先,让我们安装一个非常著名的图形库名字叫pillow

如果各位同学的电脑上已经安装了python环境,那么执行下面的指令

python -m pip install pillow

安装完毕,我们就可以使用pillow 库来绘制图形了。

二、然后,新建一个文件,名字叫PictureToCharImg.py

代码如下:

from PIL import Image

codeLib = '''@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/|()1{}[]?-_+~<>i!lI;:,"^`'. ''' # 生成字符画所需的字符集

count = len(codeLib)

def transform1(image_file):

image_file = image_file.convert("L") # 转换为黑白图片,参数"L"表示黑白模式

codePic = ''

for h in range(0, image_file.size[1]): # size属性表示图片的分辨率,'0'为横向大小,'1'为纵向

for w in range(0, image_file.size[0]):

gray = image_file.getpixel((w, h)) # 返回指定位置的像素,如果所打开的图像是多层次的图片,那这个方法就返回一个元组

codePic = codePic + codeLib[int(((count - 1) * gray) / 256)] # 建立灰度与字符集的映射

codePic = codePic + ' '

return codePic

fp = open('叮当猫.png', 'rb')

image_file = Image.open(fp)

image_file = image_file.resize((int(image_file.size[0] * 0.75), int(image_file.size[1] * 0.5))) # 调整图片大小

print('Info:', image_file.size[0], ' ', image_file.size[1], ' ', count)

tmp = open('pa.txt', 'w')

tmp.write(transform1(image_file))

tmp.close()

三、最后,通过命令行格式执行下面的指令

`python PictureToCharImg.py'

如果没有错误,那么就会在目录下生成一个pa.txt文件。

打开pa.txt文件,设置字体为宋体 小六号字 就可以直接看到效果啦。

今天的分享就到这里,那我们下次再见啦!返回搜狐,查看更多

责任编辑:

python笑脸猫图案_酷叮猫编程课堂:python生成字符画相关推荐

  1. python莱布尼茨法计算π_酷叮猫少儿编程讲堂——Python 用莱布尼茨等式求π

    原标题:酷叮猫少儿编程讲堂--Python 用莱布尼茨等式求π Python 用莱布尼茨等式求π 2018-08-01 德国大数学家莱布尼茨Leibniz在研究圆周率π的过程中发现一个数学公式是这样的 ...

  2. python心理学实验程序_心理学实验程序编程(python)

    任务一:实现简单的屏幕的颜色之间的切换 importpygamefrom pygame.locals import *pygame.init() win= pygame.display.set_mod ...

  3. c语言狼追兔子用函数,酷叮猫C语言课堂-狼追兔子问题

    原标题:酷叮猫C语言课堂-狼追兔子问题 问题描述 一只兔子躲进了10个环形分布的洞中的一个.狼在第一个洞中没有找到兔子,就隔一个洞,到第3个洞去找:也没有找到,就隔2个洞,到第6个洞去找:以后每次多一 ...

  4. python学习之手把手教你将图片变成黑白或彩色字符画(骚操作)

    文章目录 前言 一.字符画的实现原理 二.黑白字符画实现代码 三.彩色字符画生成 代码实现: 总结 前言 字符画这个话题,似乎早在贴吧时代就已经被玩烂了.在百度图片随便一搜索,就能够看到非常多.然后在 ...

  5. python生成字符画_Python生成字符画 | 文艺数学君

    摘要这一篇文章介绍使用Python生成字符画的方式. 会给出简单的原理介绍和实现的方式. 最后会给出源代码的链接地址. 简介 这一篇介绍一下使用Python来进行字符画的生成. 这里会介绍一下生成的步 ...

  6. 利用python生成字符画

    先看看效果图: 转换后: 将图片转换成字符画的原理: 先将图片转换成黑白,然后一行行的读取灰度,建立灰度与字符的映射. 转换代码: def transform(image_file): image_f ...

  7. python不支持什么编程,python解释器在语法上不支持什么编程方式-Python教程

    python诠释器正在语法上没有支持甚么编程形式 python诠释器正在语法上没有支持[天然言语]. python诠释器正在语法上支持的编程形式有:语句.面向进程.面向工具. (保举:编程教程) 天然 ...

  8. 35行代码利用python生成字符画,非常适合初学者练习,附源码!

    python字符画是一个简单有趣的小程序,非常适合初学者进行学(zhuang)习(bi).python字符画生成的原理及其简单,一句话概括就是----将图片像素点用不同字符代替,从而将像素组成的图片转 ...

  9. 程序猿编程课堂 Python学习之入门篇1:环境搭建与第一个程序

    前言: Python作为目前比较热门的编程语言,其简单和简洁的语法使它成为一种非常好的通用编程语言,它是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),并且随着版本的不断更新和 ...

  10. 用python绘制熊猫图案_使用熊猫在Python中绘制数据

    用python绘制熊猫图案 在关于基于Python的绘图库的系列文章中 ,我们将对使用pandas(一种非常流行的Python数据操作库)的绘图进行概念性的研究. Pandas是Python中用于可缩 ...

最新文章

  1. ArcGIS Engine中的8种数据访问【转】
  2. JavaWeb之Servlet学习-----实现文件动态下载功能 手写servlet 手动构建web程序
  3. C/C++ 日期 时间 time_t与struct tm转换 收藏
  4. vue中的data用return返回
  5. Huawei eNSP 安装教程
  6. PHP 结合redis实现高并发下抢购、秒杀
  7. lowagie.text 表格带复杂表头 导出word
  8. Multi-level learning based memetic algorithm for community detection笔记
  9. 软件测试功能测试全套常见面试题【开放性思维题】面试总结4-3
  10. ISIS协议基础知识
  11. Event-Driven架构设计消息处理系统
  12. oracle 导入报错ORA-39126,ORA-06502,LPX-00230
  13. 使用 Google Chrome 数据抓包方式免费下载收费音乐
  14. 语言认知模型--的学习笔记
  15. 【短链接】——新浪、百度、搜狐等官方长链接转短链接
  16. YoMail 隐藏小功能之怎样在yomail里使用石墨文档?
  17. Kubernetes详解(四十一)——Secret创建
  18. Android 12 快速适配要点
  19. linux挂接移动硬盘,LINUX挂接移动硬盘
  20. matlab三大重要数组之胞元数组

热门文章

  1. 手把手教你如何自制目标检测框架(从理论到实现)
  2. SAP系统中的几种系统级消息(用户登录后消息弹窗SM02,TH_POPUP,以及系统邮件)
  3. 使用docker部署java服务
  4. i12蓝牙耳机怎么设置成中文_耳朵里的小精灵——乐迈车载智能蓝牙耳机
  5. 电脑黑客用3D打印钥匙解开高安全性能手铐
  6. 麦客存储侯峰:Filecoin生态构建与价值革命 | 星际崛起IPFS云峰会
  7. 13、Jupyter notebook制作幻灯片PPT
  8. 《数据结构》-树(孩子兄弟表示法)
  9. 阿里云服务器ubuntu 16.04 安装mysql
  10. C/C++ 混合编译 C++中的extern “C“