利用python生成字符画
先看看效果图:
转换后:
将图片转换成字符画的原理:
先将图片转换成黑白,然后一行行的读取灰度,建立灰度与字符的映射。
转换代码:
- def transform(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+'\r\n'
- return codePic
全部代码如下:
- # -*- coding: utf-8 -*-
- #闻到 http://wendao123.cn
- #利用python生成字符画
- from PIL import Image
- codeLib = '''@B%8&WM#*oahkbdpqwmasdfghjklzzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"'''#生成字符画所需的字符集
- count = len(codeLib)
- def transform(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+'\r\n'
- return codePic
- fp = open('zfh.jpg','rb')
- image_file = Image.open(fp)
- image_file=image_file.resize((int(image_file.size[0]*0.25), int(image_file.size[1]*0.125)))#调整图片大小
- print(u'Info:',image_file.size[0],' ',image_file.size[1],' ',count)
- tmp = open('tmp.txt','w')
- tmp.write(transform(image_file))
- tmp.close()
代码已经上传到github,传送门:图片转字符画
作者:闻到
个性签名: 海边微风起,等风也等你。
博客地址:http://wendao123.cn
python学习交流群群号:643711776
微信公众号:闻到博客
利用python生成字符画相关推荐
- 35行代码利用python生成字符画,非常适合初学者练习,附源码!
python字符画是一个简单有趣的小程序,非常适合初学者进行学(zhuang)习(bi).python字符画生成的原理及其简单,一句话概括就是----将图片像素点用不同字符代替,从而将像素组成的图片转 ...
- python生成字符画_Python生成字符画 | 文艺数学君
摘要这一篇文章介绍使用Python生成字符画的方式. 会给出简单的原理介绍和实现的方式. 最后会给出源代码的链接地址. 简介 这一篇介绍一下使用Python来进行字符画的生成. 这里会介绍一下生成的步 ...
- python生成字符画_使用Python生成ASCII字符画
使用Python生成ASCII字符画 在很多的网站主页中或者程序的注释中会有一些好看的字符注释画.显得很牛逼的样子 例如: 知乎 _____ _____ _____ _____ /\ \ /\ \ / ...
- python生成字符画_python生成动态字符画
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 但,可以将字符串的一部分复制到新创建的字符串,达到"看起来修改&quo ...
- python生成字符画_通过python将图片生成字符画
基础知识: 1.python基础知识 快速学习链接:https://www.shiyanlou.com/courses/214 2.linux命令行操作 快速学习链接:https://www.shiy ...
- python表白代码照片墙-python入会生成照片墙 利用python生成照片墙代码
本篇文章小编给大家分享一下利用python生成照片墙代码,对大家的学习有一定的帮助,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. PIL(Python Image Libr ...
- 就有趣,Python生成字符视频
Python生成字符视频 一.前言 在之前也写过生成字符视频的文章,但是使用的是命令行窗口输出,效果不是很好,而且存在卡顿的情况.于是我打算直接生成一个mp4的字符视频.大致思路和之前一样:Pytho ...
- 动态照片墙 python 实现_利用python生成照片墙的示例代码
这篇文章主要介绍了利用python生成照片墙的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 PIL(Python Im ...
- python制作图片墙_利用python生成照片墙的示例代码
PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...
最新文章
- 创业基础(第8章 新企业的创办与管理) 来自高校:全国大学生创新创业实践联盟 分类:创新创业 学习规则:按序学习
- php 彩色标签插件,zblog php 彩色标签CSS源码
- ios开发-UI基础-应用管理(单纯界面)
- 电脑物理内存与虚拟内存的区别与关系
- LINUX技术讨论区
- 用数学诠释生命——当今生物信息与计算生物学回顾(一)
- Python_面向对象_递归
- React实践(一)——webpack4搭建开发环境
- C# —— 深入理解委托类型
- pythonui教学视频_分享软件开发相关视频教程(Java、C++、Python、UI设计、HTML5、iOS)...
- ASP.NET MVC3 系列教程 - 部署你的WEB应用到IIS 6.0
- 找不到具有不变名称“System.Data.SqlClient”的ADO.NET提供程序的实体框架提供程序
- php登录注册案例,php实现登陆与注册的案例
- 64位 内存占用大 嵌入式_懵!面试官问我:Object o = new Object() 占用了多少个字节?...
- html彻底隐藏源代码禁止抓包,如何彻底禁止查看网页源代码
- Jmeter连接测试Mysql数据库
- 计算机控制器如何调用打印机,怎样设置打印机的虚拟usb端口
- 如何用python爬取下载微博视频_Python通过抓包和使用cookie爬取微博完全讲解(附视频)-阿里云开发者社区...
- 库卡机器人emd价格_什么是机器人零点标定?以kuka机器人为例
- 格拉姆-施密特过程的程序实现
热门文章
- 一键批量关闭 Linux 的 tty 的方法
- 超干货!为了让你彻底弄懂MySQL事务日志,我通宵肝出了这份图解
- QT 之 TCP 服务端 连接 多客户端 处理学习
- 5G无线技术基础自学系列 | 频谱划分
- iQOO 8系列高端旗舰手机发布;海信与巴黎圣日耳曼启动第二年合作;爱立信广西移动助推北海精一建设5G智慧工厂 | 全球TMT...
- CC00023.elasticsearch——|HadoopElasticSearch.V23|——|ELK.v23|集群|QueryDSL|复合搜索|
- oracle 聚合函数 日期,Oracle日期函数/字符函数/数字函数/转换函数/聚合函数
- 9个好玩但有点危险的Bash Shell命令
- 总结--linux命令总结
- python中if else用法详解_Python 中的 else详解