1 import argparse
 2 from PIL import Image
 3
 4 def parse_param():
 5     parser = argparse.ArgumentParser()   # 命令行输入参数处理
 6
 7     parser.add_argument("input_file")  # 输入文件
 8     parser.add_argument("out_file")    # 输出文件
 9
10     parser.add_argument("--width", type=int, default=50)  # 输出字符画宽
11     parser.add_argument("--height", type=int, default=50)  # 输出字符画高
12
13     args = parser.parse_args()   # 获取参数
14     width, height, input_file, out_file = args.width, args.height, args.input_file, args.out_file
15     return width, height, input_file, out_file
16
17 def get_char(r, g, b, alpha=256):
18     '''
19     gray / 256 = x / len(ascii_chra)
20
21     '''
22     if alpha == 0:
23         return " "
24     gray = (2126 * r + 7152 * g + 722 * b)/10000
25     # 将256灰度映射到70个字符上
26     ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
27     x = int((gray / (alpha + 1.0)) * len(ascii_char))
28     return ascii_char[x]
29
30 def write_file(out_file_name, content):
31     with open(out_file_name, "w") as f:
32         f.write(content)
33
34 def main(file_name="test.jpg", width=80, height=80, out_file_name="out_file"):
35     text = ""
36     im = Image.open(file_name)
37     im = im.resize((width, height), Image.NEAREST)
38     for i in range(height):
39         for j in range(width):
40             content = im.getpixel((j, i))
41         text += get_char(*content)
42         text += "\n"
43     print(text)
44     write_file(out_file_name, text)   # 字符画出到文件
45
46
47 if __name__ == '__main__':
48     main()
49
50
51
52 图片测试:
53 http://labfile.oss.aliyuncs.com/courses/370/ascii_dora.png

待完善.......

转载于:https://www.cnblogs.com/jonm/p/8351754.html

python3----练习题(图片转字符画)相关推荐

  1. python 图片转字符画

    python 图片转字符画 项目介绍 本实验用 50 行 Python 代码完成图片转字符画小工具.通过本实验将学习到 Linux 命令行操作,Python 基础,pillow 库的使用,argpar ...

  2. python动态图片转字符画_Python实现图片转字符画

    原博文 2018-05-17 13:18 − 一.任务描述   西普工程师想了解Python的命令行,以达到更好的对Python更深入的认知,打算利用argparse库实现图片转字符画的实验,结合Py ...

  3. 简单使用python将图片转换为字符画

    将图片转换为字符码的形式相信大家都有见过. 记得小编以前看到这些的时候是极其羡慕的,也很渴望能够实现这项功能. 然后将一副画转换为这样的字符画,发给周围的朋友炫耀. NH HN–: !;;– –;;; ...

  4. python笔记手写照片_Python笔记-将图片转换为字符画

    [功能] 将jpg图片转换为字母画字符画( python 3.7版本下调试成功) [特点] 1.图片可默认位置,或者手工输入指定图片名 2.输出字符画高度可以设置,默认为60行 图片转字符画程序.jp ...

  5. python图片转字符画

    学习了下python图片转字符画,学习连接:Python 图片转字符画,觉得还挺有趣,不过图片的颜色和细节不能太多,不然效果比较差,代码如下: from PIL import Image import ...

  6. python项目实战:最简单的图片转字符画

    2019独角兽企业重金招聘Python工程师标准>>> 前言 今天为大家一个基础的,且简单的Python图片转字符画的过程,python图像转字符画需要用到matplotlib.py ...

  7. python动态图片转字符画_GIF动态图,视频?都能用Python转换成字符画图像

    字符画是一种由字母.标点或其他字符组成的图画,它产生于互联网时代,在聊天软件中使用较多,本文我们看一下如何将自己喜欢的图片转成字符画. 静态图片 首先,我们来演示将静态图片转为字符画,功能实现主要用到 ...

  8. python实现图片转字符画_Python实现图片转字符画的示例代码

    初学Python,在网上看到Python图片转字符画的教程,我也来尝试下. 首先我们要用到Python的PIL库的Image模块,PIL(Python Imaging Library)库是Python ...

  9. char添加一个字符_给你五十行代码把图片变成字符画!程序:太多了,一半都用不完...

    今天和大家分享一个简单又好玩的Python项目–"图片转字符画".废话不多说,先上一个效果图迷惑一下众生. 没错的,图片转字符画就是将我们平常所看到的的图片根据像素RGB值和灰度值 ...

  10. python图像转字符画_Python实现图片转字符画的示例

    字符画真的很有意思,将图片中的像素用字符代替,就生成了字符画. 但是像素是有颜色深浅的,我们如何将带有不同颜色的像素编码为对应的字符呢? 转化方法: 将彩色图片转化为灰度图 根据颜色深浅的RGB值(值 ...

最新文章

  1. pyhton 中的字符串切片问题
  2. java word打印_如何通过Java打印Word文档
  3. 【Pushgateway】正则匹配,分隔逗号成数组
  4. Apache服务器学习笔记
  5. Elastic Stack 安装
  6. spring boot配置mybatis和事务管理
  7. Network 第六篇 - 三层交换机配置路由功能
  8. Hashtable几种常用的遍历方法
  9. [转载] 在python中pop的用法_python中pop()函数如何使用
  10. android 关闭jack_安卓编译 Jack server 错误问题解决办法
  11. 自定义快捷键整理 - Windows
  12. 现代密码学(七)对称密钥管理和公钥革命
  13. MSP430 DM430-A开发板学习笔记(二)MSP430f149与hc06蓝牙模块的使用
  14. 找回foxmail下的邮箱密码
  15. 自监督:对比学习contrastive learning
  16. 移动视频录传-公网对讲APP-MCP常见操作说明
  17. 阿里小蜜这一年,经历了哪些技术变迁?
  18. 一个简单的百度爬虫实例
  19. 国医中药,人参神秘而又独特的地位
  20. 被调查7小时心生怨气 男子朋友圈辱骂警察被行拘

热门文章

  1. 【颅内出血识别问题】数据分析与可视化
  2. ubuntu16.04下ROS操作系统学习笔记(九)Moveit
  3. 矩阵分解在推荐系统中的应用:NMF和经典SVD实战
  4. 基于CUDA的GPU优化建议
  5. BZOJ1283 序列(费用流)
  6. BOM对象有哪些,列举window对象?
  7. [转]int String 互转的多种方法
  8. Linux C编程之七(2) 系统IO函数
  9. 雾里看花之 Python Asyncio
  10. Linux的Namespace与Cgroups介绍