从零学python系列之教你如何根据图片生成字符画


Posted in Python onMay 23, 2014

说下思路吧:

原图->灰度->根据像素亮度-映射到指定的字符序列中->输出。
字符越多,字符变化稠密。效果会更好。
如果根据灰度图的像素亮度范围制作字符画,效果会更好。
如果再使用调色板,对字符进行改色,就更像原图了。

这是原图: 

从零学python系列之教你如何根据图片生成字符画

这是生成的字符画:

从零学python系列之教你如何根据图片生成字符画

废话不多说,直接上代码:

import Image
chars =" ...',;:clodxkLO0DGEKNWMM"
fn=r'c:\users\liabc\desktop\jianbing.png'
f1=lambda F:''.join([(k%100!=0) and m or m+'\n' for k,m in enumerate(apply(lambda x:[chars[x[j,i]%len(chars)] for i in xrange(70) for j in xrange(100)],(Image.open(F).resize((100,70)).convert("L").load(),)),1)])
 f=open(r"c:\users\liabc\desktop\aface.txt","w")
f.write(f1(fn))
f.close()
Python 相关文章推荐
Python字符转换
Sep 06 Python
python执行get提交的方法
Apr 29 Python
Python中的字符串类型基本知识学习教程
Feb 04 Python
Python实现屏幕截图的两种方式
Feb 05 Python
利用python如何处理百万条数据(适用java新手)
Jun 06 Python
Python 多个图同时在不同窗口显示的实现方法
Jul 07 Python
PyQt Qt Designer工具的布局管理详解
Aug 07 Python
python有几个版本
Jun 17 Python
哪种Python框架适合你?简单介绍几种主流Python框架
Aug 04 Python
python Yaml、Json、Dict之间的转化
Oct 19 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
Jan 10 Python
教你使用pyinstaller打包Python教程
May 27 Python
从零学python系列之从文件读取和保存数据
May 23 #Python
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
May 23 #Python
从零学python系列之新版本导入httplib模块报ImportError解决方案
May 23 #Python
从零学python系列之数据处理编程实例(二)
May 22 #Python
从零学python系列之数据处理编程实例(一)
May 22 #Python
Python学习笔记_数据排序方法
May 22 #Python
从零学Python之hello world
May 21 #Python
You might like
新版PHP将向Java靠拢
2006/10/09 PHP
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
新手菜鸟必读:session与cookie的区别
2013/08/22 PHP
PHP中提问频率最高的11个面试题和答案
2014/09/02 PHP
php设置静态内容缓存时间的方法
2014/12/01 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
Javascript实现的分页函数
2006/12/22 Javascript
HTTP状态代码以及定义(解释)
2007/02/02 Javascript
CSS和Javascript简单复习资料
2010/06/29 Javascript
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
jquery 选项卡效果 新手代码
2011/07/08 Javascript
javascript通过className来获取元素的简单示例代码
2014/01/10 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
JavaScript调试的多个必备小Tips
2017/01/15 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
JavaScript闭包和回调详解
2017/08/09 Javascript
微信小程序中setInterval的使用方法
2017/09/29 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
js实现动态增加文件域表单功能
2018/10/22 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
2019/09/26 Javascript
Vuex的热更替如何实现
2020/06/05 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
vue 实现在同一界面实现组件的动态添加和删除功能
2020/06/16 Javascript
[10:05]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD 选手采访
2021/03/11 DOTA
python中迭代器(iterator)用法实例分析
2015/04/29 Python
实例解析Python中的__new__特殊方法
2016/06/02 Python
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
巴西备受欢迎的服装和生活方式品牌:FARM Rio
2020/02/04 全球购物
大学生自我鉴定
2013/12/16 职场文书
服务员岗位责任制
2014/02/11 职场文书
领导班子四风问题个人对照检查材料
2014/10/04 职场文书
骨干教师个人总结
2015/02/11 职场文书
国家助学金受助感言
2015/08/01 职场文书
Python实现将多张图片合成MP4视频并加入背景音乐
2022/04/28 Python