python生成中文字符画_Python 图片转字符画
-- coding:utf-8 --
from PIL import Image
import argparse
命令行输入参数处理
parser = argparse.ArgumentParser()#创建解析对象
向对象中添加要关注的命令行参数和选项
parser.add_argument('file') #输入文件
parser.add_argument('-o', '--output') #输出文件
parser.add_argument('--width', type = int, default = 80) #输出字符画宽
parser.add_argument('--height', type = int, default = 80) #输出字符画高
获取参数
args = parser.parse_args()#从命令行参数中返回一些数据,调用parse_args()函数进行解析
IMG = args.file#参数的文件赋值给IMG
WIDTH = args.width#参数
HEIGHT = args.height
OUTPUT = args.output
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/|()1{}[]?-_+~<>i!lI;:,"^`'. ")#不同字符代表不同色块,字符最好不要重复
将256灰度映射到70个字符上
def get_char(r,g,b,alpha = 256):
if alpha == 0:#如果??
return ' '
length = len(ascii_char)
gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)#r,g,b转换为灰度值,白色是255,黑色是0
unit = (256.0 + 1)/length#单元字符的灰度值大小
return ascii_char[int(gray/unit)]#字符从小到大表示灰度值,已知灰度值大小,一个字符表示的灰度值大小,求该灰度值由第几个字符表示,ascii_char[i]
if name == 'main':
im = Image.open(IMG) #IMG=args.file(file需输入的参数)
im = im.resize((WIDTH,HEIGHT), Image.NEAREST)
#im.resize(size,resample=0) --调整大小,resample有四个选项,默认为第一个,第四个质量更高一些
#Image.NEAREST:nearest neighbour
#Image.BILINEAR:linear interpolation
#Image.BICUBIC:cubic spline interpolation
#Image.LANCZOS:a high-quality downsa
txt = ""
for i in range(HEIGHT):
for j in range(WIDTH):
txt += get_char(*im.getpixel((j,i)))#字符之间用 + 表示字符相连 'a' + 'b'--->'ab'
#在for循环中im.getpixel((j,i)是指获取每个对应坐标像素的rgb值,你可以获取一个固定坐标的值,然后print出来看看
txt += '\n'#退出j(一行)循环时换行
print txt
#字符画输出到文件
if OUTPUT:
with open(OUTPUT,'w') as f:
f.write(txt)
else:
with open("output.txt",'w') as f:
f.write(txt)
python生成中文字符画_Python 图片转字符画相关推荐
- python生成中文、字母、数字等字符图片
代码功能: 生成指定颜色.大小.字体的中文.字母.数字等字符图片 代码 from PIL import Image, ImageDraw, ImageFont import random# 设置背景颜 ...
- python字符照片_python图片转字符图片
python图片转字符图片代码 话不多说,直接上代码. *************************** #-*- coding:utf-8 -*- from PIL import Image ...
- Python生成中文词云图(二):不可指定词云特定的形状和颜色。
Python生成中文词云图(二):不可指定词云特定的形状和颜色. 什么是词云? 首先,什么是词云呢?词云又叫文字云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关 ...
- Python生成中文词云图(一):可指定特定的词云形状和颜色。
Python生成中文词云图 什么是词云? 首先,什么是词云呢?词云又叫文字云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从 ...
- 怎样用python生成中文字符画_如何利用Python实现图片转字符画详解
本篇文章主要介绍了Python实现图片转字符画的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 字符画真的很有意思,将图片中的像素用字符代替,就生成了字符画. 但是像 ...
- python动态图片转字符画_python 图片在线转字符画预览
关于python图片转字符画,相信大家都不陌生,经常出现在 n个超有趣的python项目中. 今天我也来实践这个有趣的项目,更进一步的是把这个功能做成一个在线的网站,直接上传图片生成字符画,在线预览可 ...
- python编辑视频字符化_Python 视频转字符画 - 进阶
这篇文章是 视频转字符动画-Python-60行代码 的后续,如果感兴趣,请先看看它. 0. 话说在前头 最新版使用了画布方式实现,和本文相比改动非常大,如果对旧版本的实现没啥兴趣,可以直接移步 vi ...
- python项目实战:最简单的图片转字符画
2019独角兽企业重金招聘Python工程师标准>>> 前言 今天为大家一个基础的,且简单的Python图片转字符画的过程,python图像转字符画需要用到matplotlib.py ...
- python生成中文词云的代码_[python] 基于词云的关键词提取:wordcloud的使用、源码分析、中文词云生成和代码重写...
1. 词云简介 词云,又称文字云.标签云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意 ...
最新文章
- 超详讲解图像拼接/全景图原理和应用 | 附源码
- SCROLLINFO结构详解
- python七夕快乐_python编写简单抽奖系统
- 大龄开发人员如何破局
- boost::python模块实现使用内置 python 数据类型创建 ndarrays 的示例,并提取成员变量的类型和值测试程序
- Mac下搭建cocos2d 和cocos2d -x 环境
- Android之实现多张图片点击预览(支持放缩)和滑动
- IDF实验室-图片里的英语
- linux系统部署war包,查看tomcat日志
- android l 效果,[原]Android L中水波纹点击效果的实现
- 混淆矩阵-python
- 总结一下矩阵的基本操作
- sai2笔刷_SAI如何安装笔刷?板绘萌新必备
- zend framework入门教程实践
- java 从后往前截取_java 字符串截取的实例详解
- Windows监控日志文件 Tail for Win32
- matlab中matconvnet,MATLAB2017a编译MatConvNet过程中出现的各种问题
- linux 系统安装Iso,linux系统安装iso文件方法
- 计算机windows安全如何打开,windows安全中心如何关闭
- Python+bs4实现爬取小说并下载到本地
热门文章
- 脱虚向实,NGK公链让工业4.0赋能实体
- Unity的新动画系统(animator)在脚本中的操控
- Swoole入门到实战
- 推荐一个外文图书专著下载网站
- m多载波MC-CDMA系统单用户检测方法的研究,对比EGC,MRC,ORC以及MMSE
- linux 安装 gedit
- Android Studio gradle下载依赖包失败的解决办法
- 南航金城学院计算机网络试卷及答案,南航金城学院期末电路理论基础考试题及答案解析.pdf...
- 营养食谱小贴士:选择食物巧防职业病
- openfoam变热物性参数的设置【转载】