#代码来自 实验楼https://www.shiyanlou.com/courses/

#encoding=utf-8
#/usr/bin/env python
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=50)
parser.add_argument('--height' , type=int , default=50)

args = parser.parse_args()

IMG = args.file
WIDTH = args.width
HEIGHT = args.height
OUTPUT = args.output

ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")

def get_char(r ,b ,g , alpha=256):
if alpha ==0 :
return ''
length = len(ascii_char)
gray = int(0.2126 * r + 0.7152*g + 0.0722*b)
unit = (256.0 +1 ) / length
return ascii_char[int(gray / unit)]

if __name__ =='__main__':
im = Image.open(IMG)
im = im.resize((WIDTH , HEIGHT) , Image.NEAREST)

txt = ""

for i in range(HEIGHT):
for j in range(WIDTH):
txt += get_char(*im.getpixel((j ,i)))
txt += '\n'

if OUTPUT:
with open(OUTPUT , 'w') as f:
f.write(txt)

else:
with open('output.txt','w') as f:
f.write(txt)

转载于:https://www.cnblogs.com/zeopean/p/5247183.html

python Pillow 的简单案例相关推荐

  1. python爬虫requests简单案例_Python小例子:一个最简单的爬虫

    学习编程的过程中总是有些枯燥.成天面对黑乎乎的窗口可能真的有些无聊.来,我们做点好玩的事情吧.比如 将网络上你喜欢的图片保存下来.不过千里之行 始于足下,在学习将网页上的图片下载下来之前.我们首先要学 ...

  2. python备份文件最简单案例_Python实现备份文件实例

    本文实例讲述了Python实现备份文件的方法,是一个非常实用的技巧.分享给大家供大家参考.具体方法如下: 该实例主要实现读取一个任务文件, 根据指定的任务参数自动备份. 任务文件的格式: (注意,分号 ...

  3. python爬虫requests简单案例_python网络爬虫(三)requests库的13个控制访问参数及简单案例...

    酱酱~小编又来啦~

  4. python基础编程简单案例:购买商品

    goods_dict = {"001":{"name": "爱马仕腰带", "price": 1999},"0 ...

  5. python装饰器模式带参数_Python进阶(七)----带参数的装饰器,多个装饰器修饰同一个函数和递归简单案例(斐波那契数列)...

    Python进阶(七)----带参数的装饰器,多个装饰器修饰同一个函数和递归简单案例(斐波那契数列) 一丶带参数的装饰器 def wrapper_out(pt): def wrapper(func): ...

  6. Python调用Gurobi:Assignment Problem(指派问题)简单案例

    Python调用Gurobi:简单案例 Python调用Gurobi:Assignment Problem简单案例 1. Assignment Problem Model Python调用Gurobi ...

  7. python简单实例-python简单案例

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 一个简单的python资讯采集案例,列表页到详情页,到数据保存,保存为txt文档, ...

  8. python爬取网易云音乐_python爬取网易云音乐简单案例

    首先找到想要下载的歌曲表单,例如: 打开推荐 点击推荐的歌曲表单 接下来我们尝试爬取这个表单的全部歌曲名,及歌曲的MP3地址 我使用fiddler4抓包工具抓取相关信息 #encoding=utf8 ...

  9. python爬取网易云音乐简单案例

    首先找到想要下载的歌曲表单,例如: 打开推荐 点击推荐的歌曲表单 接下来我们尝试爬取这个表单的全部歌曲名,及歌曲的MP3地址 我使用fiddler4抓包工具抓取相关信息 #encoding=utf8 ...

最新文章

  1. 博士大佬整理的机器学习算法知识手册 | 附PDF下载
  2. fatal: unable to access ‘https://github.com/***.git/‘: OpenSSL SSL_read: Connection was reset, errno
  3. android 卡片旋转动画,Android 卡片翻转效果
  4. leetcode976. 三角形的最大周长(又是你得不到的简单题)
  5. 计算机显示文本自定义130%,实训课题目
  6. org.apache.commons.lang.text.StrLookup缺失
  7. HTML简洁自适应个人码农主页源码
  8. 用户故事与敏捷方法—故事不是什么
  9. javaScript读取xml文件
  10. android长度测量工具,手机测量尺子工具
  11. win10安装python27_《win10python27安装教程》 win10怎么安装python
  12. AD在PCB设计中导入LOGO
  13. 互联网老辛整理-学员面试题
  14. linux dlna 网络优化,Linux DLNA
  15. 4.2 期货每日早盘操作建议
  16. APS54083 DC/DC升降压恒流驱动芯片 2.4G调光 —提供DEMO板
  17. ubuntu下发送邮件到外部邮箱
  18. 什么是短效IP和长效IP?
  19. 商品3D建模的视觉定位和前景分割方法
  20. VNode――Beijing OpenParty晓风归雁后记

热门文章

  1. GridView 移除模板列
  2. 北方网-ios预科班
  3. Ubuntu开发之旅一---安装初步
  4. ms sql server 添加列,删除列。
  5. VS2005中ReportViewer 本地模式下报表呈现 入门示例
  6. jmeter对oracle压力测试
  7. node:爬虫爬取网页图片
  8. zooland 新开源的RPC项目,希望大家在开发的微服务的时候多一种选择,让微服务开发简单,并且容易上手。...
  9. POJ 3608 旋转卡壳
  10. 如何更好的掌握一个知识点_如何成为一个更好的讲故事的人3个关键点