从零学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中用max()方法求最大值的介绍
May 15 Python
Python pickle模块用法实例分析
May 27 Python
举例讲解Python中的Null模式与桥接模式编程
Feb 02 Python
python相似模块用例
Mar 04 Python
Python使用gensim计算文档相似性
Apr 10 Python
Python实现Linux的find命令实例分享
Jun 04 Python
python3+dlib实现人脸识别和情绪分析
Apr 21 Python
python检测IP地址变化并触发事件
Dec 26 Python
详解python中的生成器、迭代器、闭包、装饰器
Aug 22 Python
Python接口测试结果集实现封装比较
May 01 Python
使用python实现名片管理系统
Jun 18 Python
Django用内置方法实现简单搜索功能的方法
Dec 18 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
apache php模块整合操作指南
2012/11/16 PHP
fetchAll()与mysql_fetch_array()的区别详解
2013/06/05 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
2014/06/12 PHP
php实现36进制与10进制转换功能示例
2017/01/10 PHP
PHP实现的curl批量请求操作示例
2018/06/06 PHP
php数组和链表的区别总结
2019/09/20 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
JS防止用户多次提交的简单代码
2013/08/01 Javascript
js 获取radio按钮值的实例
2013/08/17 Javascript
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
javascript结合Canvas 实现简易的圆形时钟
2015/03/11 Javascript
javascript实现输出指定行数正方形图案的方法
2015/08/03 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
用move.js库实现百叶窗特效
2017/02/08 Javascript
如何快速上手Vuex
2017/02/14 Javascript
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
2018/02/08 Javascript
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
[00:35]DOTA2上海特级锦标赛 Newbee战队宣传片
2016/03/03 DOTA
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
Python使用logging模块实现打印log到指定文件的方法
2018/09/05 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
python实现对图片进行旋转,放缩,裁剪的功能
2019/08/07 Python
快速解决docker-py api版本不兼容的问题
2019/08/30 Python
keras 多gpu并行运行案例
2020/06/10 Python
详解css3 flex弹性盒自动铺满写法
2020/09/17 HTML / CSS
使用HTML5做个画图板的方法介绍
2013/05/03 HTML / CSS
详解HTML5中的manifest缓存使用
2015/09/09 HTML / CSS
shell变量的作用空间是什么
2013/08/17 面试题
2016年暑期见闻作文
2015/11/25 职场文书
2016年中学清明节活动总结
2016/04/01 职场文书
OpenCV-Python使用cv2实现傅里叶变换
2021/06/09 Python
MySQL的InnoDB存储引擎的数据页结构详解
2022/03/03 MySQL
鲲鹏 CentOS 7 安装Python3.7
2022/05/11 Servers
Linux磁盘管理方法介绍
2022/06/01 Servers