Python:利用Pillow库创建字符画
我们就用这个可爱的小龙猫来做模板
这里,先导入我们要用到的Pillow库中的Image模块
from PIL import Image
创建Image实例,路径的话请自行修改
img = Image.open(r'.\Demo.png')
创建一个文档以便于接收字符
fp = open('字符画.txt', 'w')
获取图片的大小
width, height = img.size # 获取图片大小
若是图片太大的话先缩小下图片
img = img.resize((width, height))
遍历图片的像素点 把对应的映射字符算出来
for i in range(1, height): # 从上至下遍历for j in range(1, width): # 从左至右遍历R, G, B= img.getpixel((j, i)) # 获取目标位置RGB值sum = R + G + Bindex = int(sum / 30) # 以30为一个间隔fp.write(chars[index])fp.write('\n') # 写完一行便换行fp.close()
值得注意的是这里所用的图片通道为RGB 若是不一样的话先转换为RGB
print(img.mode) # 查看当前通道
img = img.convert("RGB") # 通道处理
OK 跑起来!
if __name__ == '__main__':chars = '@#MBHA&XG893S5n1sri;:-,. ' # 字符集 颜色越深字符就取大些main() # 把代码都放到main函数里哈
貌似有些大 哈哈不过没事
全部代码
# -*- coding: utf-8 -*-
"""
@author: Yi_Zhou
"""
from PIL import Imagedef main():img = Image.open(r'.\Demo.png')img = img.resize((200,120))print(img.mode)fp = open('字符画.txt', 'w')width, height = img.sizefor i in range(1, height):for j in range(1, width):R, G, B= img.getpixel((j, i))sum = R + G + Bindex = int(sum / 30)fp.write(char[index])fp.write('\n')fp.close()if __name__ == '__main__':char = '@#MBHA&XG893S5n1sri;:-,. 'main()
转载请注明:Yi_Zhou_Python:利用Pillow库创建字符画
Python:利用Pillow库创建字符画相关推荐
- python turtle画彩虹-Python利用turtle库绘制彩虹代码示例_天津SEO
天津SEO RGB模型:光的三原色,共同决定色相 HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相 需要将HSB模型转换为RGB模型 代码示例: #-*- coding:utf-8 –*- f ...
- python画笑脸-python 利用turtle库绘制笑脸和哭脸的例子
我就废话不多说了,直接上代码吧! import turtle turtle.pensize(5) turtle.pencolor("yellow") turtle.fillcolo ...
- python画笑脸图案-python 利用turtle库绘制笑脸和哭脸的例子
我就废话不多说了,直接上代码吧! import turtle turtle.pensize(5) turtle.pencolor("yellow") turtle.fillcolo ...
- python画图代码彩虹-Python利用turtle库绘制彩虹代码示例
语言:Python IDE:Python.IDE 需求 做出彩虹效果 颜色空间 RGB模型:光的三原色,共同决定色相 HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相 需要将HSB模型转换为R ...
- Python使用pillow库往图片上写入文字或覆盖另一张图片
Python使用pillow库往图片上写入文字或覆盖另一张图片 python之pillow是 Python 的第三方图像处理库.pillow是PIL( Python Imaging Library)基 ...
- python利用dominate库生成静态网页
HTML报告:python利用dominate库生成静态网页 dominate 简介 一个生成页面的简单例子 标记的属性 如何生成复杂的文档结构 访问内容和属性 渲染 上下文管理器 装饰器 创建文档 ...
- c int转字符串_【C++实现python字符串函数库】字符串匹配函数startswith与endswith
[C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...
- py之textgenrnn:Python利用textgenrnn库实现训练文本生成网络
py之textgenrnn:Python利用textgenrnn库实现训练文本生成网络 目录 输出结果 实现代码 输出结果 实现代码 #textgenrnn:利用textgenrnn实现训练文本生成网 ...
- python利用datetime库实现通过身份证号码判断年龄、男女,并输出生日
python利用datetime库实现通过身份证号码判断年龄.男女,并输出生日 实现很简单,直接上代码 import datetimeID=str(input("输入身份证号码") ...
最新文章
- 世界人工智能大会圆桌实录:AI与产业融合创新的挑战与机遇
- englishpod主持人对话文本_英语播客ESLPod学习方法+资源大全|Englishpod和eslpod的区别是什么...
- Python中__new__和__init__区别
- require.js学习记录
- arp 华为 查看 路由器_华为路由器运行状态查看-路由器
- Windows下搭建HTK
- 信息学奥赛一本通C++语言——1110:查找特定的值
- 【pytorch】torch.nn.Identity()
- # 20145205 《Java程序设计》第1周学习总结
- c++ 类全局变量_static在C和C++中的用法总结
- ong拼音汉字_拼音ong的正确发音
- matlab maps 指北针和比例尺,R 地图绘制-比例尺与指北针
- 威尔逊置信区间 php,威尔逊置信区间
- 多任务学习 Pytorch实现
- Smali语法学习三
- Weather API 天气应用 API调用分享
- Camera中onPreviewFrame()方法的视频方向旋转
- USB Type-C PD快充简介
- 如何为区块链项目设计token机制
- mysql查询中位数
热门文章
- 我的苹果电脑中毒了?mac也会中病毒?喜闻乐见(附杀毒软件测试)
- STC89C52RC内部EEPROM的读写
- Linux-bash特性详解
- a后缀名是什么格式文件,怎么打开.a文件
- 「C#」Bitmap/Image.Save()报错“GDI+ 中发生一般性错误”的一个案例总结
- 程序员修炼之道-从小工到专家 读后感
- 3D光场重建率先被中国团队推向零售商用!谷歌同款技术,哈佛高材生创办,高通投资认定...
- DirectX11 Effect特效文件
- jsp+ssm计算机毕业设计宠物寻回系统【附源码】
- 特斯拉股价周三开盘上涨近7% 因Q2交付量创纪录缓解了需求担忧