从零学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 isinstance判断对象类型
Sep 06 Python
python使用内存zipfile对象在内存中打包文件示例
Apr 30 Python
Windows系统下安装Python的SSH模块教程
Feb 05 Python
python读取word文档的方法
May 09 Python
解决Python 中英文混输格式对齐的问题
Jul 16 Python
Python单向链表和双向链表原理与用法实例详解
Aug 31 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
Jan 29 Python
Django框架HttpResponse对象用法实例分析
Nov 01 Python
Python中 Global和Nonlocal的用法详解
Jan 20 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
Mar 26 Python
django中ImageField的使用详解
Dec 21 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
Jan 29 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
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
espresso double下 咖啡粉超细时 饼压力对咖啡的影响
2021/03/03 冲泡冲煮
centos 5.6 升级php到5.3的方法
2011/05/14 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
PHP数组函数知识汇总
2016/05/12 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
2016/08/23 PHP
Yii1.1中通过Sql查询进行的分页操作方法
2017/03/16 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
Prototype Template对象 学习
2009/07/19 Javascript
jquery插件开发方法(初学者)
2012/02/03 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
原生js实现日期联动
2015/01/12 Javascript
js拆分字符串并将分割的数据放到数组中的方法
2015/05/06 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
js 声明数组和向数组中添加对象变量的简单实例
2016/07/28 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
es6系列教程_ Map详解以及常用api介绍
2017/09/25 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
微信小程序使用npm支持踩坑
2018/11/07 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
js实现跳一跳小游戏
2020/07/31 Javascript
[51:22]Fnatic vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[01:10:48]完美世界DOTA2联赛PWL S2 GXR vs PXG 第一场 11.18
2020/11/18 DOTA
Python绘制七段数码管实例代码
2017/12/20 Python
Python中is和==的区别详解
2018/11/15 Python
django处理select下拉表单实例(从model到前端到post到form)
2020/03/13 Python
Python中免验证跳转到内容页的实例代码
2020/10/23 Python
党员的自我评价范文
2014/01/02 职场文书
简历自我评价怎么写好呢?
2014/01/04 职场文书
2014年学生会个人工作总结
2014/11/07 职场文书
AngularJS实现多级下拉框
2022/03/25 Javascript
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python