python小项目练习之转换像素图片为字符图

实例来源实验楼网站,没事可以多逛逛,在此多谢实验楼的无私分享

 1 from PIL import Image
 2 import argparse
 3
 4 """
 5 description:
 6     将图片像素转换为字母重新绘制输出
 7 """
 8
 9 ascii_char = list("[email protected]%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`‘. ")
10
11 parser = argparse.ArgumentParser()
12
13 parser.add_argument(‘file‘)
14 parser.add_argument(‘-o‘,‘--output‘)
15 parser.add_argument(‘--width‘,type=int,default=80)
16 parser.add_argument(‘--height‘,type=int,default= 80)
17
18 args = parser.parse_args()
19
20 IMG = args.file
21 WIDTH = args.width
22 HEIGHT = args.height
23 OUTPUT = args.output
24
25 def get_char(r,g,b,alpha = 256):
26     if alpha == 0:
27         return ‘ ‘
28     length = len(ascii_char)
29     gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
30     unit = (256.0 + 1)/length
31     return ascii_char[int(gray/unit)]
32
33 def main():
34     im = Image.open(IMG)
35     im = im.resize((WIDTH,HEIGHT),Image.NEAREST)
36     txt = ""
37     for i in range(HEIGHT):
38         for j in range(WIDTH):
39             txt += get_char(*im.getpixel((j,i)))
40         txt += ‘\n‘
41     print txt
42
43 if __name__=="__main__":
44     main()

在文件所在的当前目录存放待转换图片,直接执行命令: python convert.py test.png

时间: 2025-01-03 22:40:09

python小项目练习之转换像素图片为字符图的相关文章

java实现图片转字符图(看的过去的亚子)

普通图片转换为ASSIC码灰度图片 原图: 效果图: 转换方法 读取图片文件到BufferedImage 读取BufferedImage中的RGB值 将RGB三色值按照(0.3,0.59,0.11)权重获取灰度值(据说是眼睛对RGB敏感度不同) 将当前灰度值根据大小转换为ASSIC编码输出 代码: import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.*; /** * @Descript

超实用python小项目--基于python的手机通讯录二维码生成网站--1、项目介绍和开发环境

这个项目是我做完整的第一个python web项目,对于新手来说,这个项目绝对是一个特别好的练手项目. 起名还是困难,但是自己确实比较烦输入这么长的名字(手机通讯录二维码生成网站)去定义这个网站,所以还是给这个项目起个名字吧,叫什么呢?就叫 "鹅日通讯录"吧(Earth address list). --------------------------------------------------------------------------------------------我是

给大家推荐:五个Python小项目,Github上的人气很高的

1.深度学习框架 Pytorch https://github.com/pytorch/pytorch PyTorch 是一个 Torch7 团队开源的 Python 优先的深度学习框架,提供两个高级功能: ● 强大的 GPU 加速 Tensor 计算(类似 numpy) ● 构建基于 tape 的自动升级系统上的深度神经网络 ● 你可以重用你喜欢的 python 包,如 numpy.scipy 和 Cython ,在需要时扩展 PyTorch. 2.deepfake 的深度学习技术 Facew

给大家推荐:五个Python小项目,Github上的人气很高的!

1.深度学习框架 Pytorch https://github.com/pytorch/pytorch PyTorch 是一个 Torch7 团队开源的 Python 优先的深度学习框架,提供两个高级功能: ● 强大的 GPU 加速 Tensor 计算(类似 numpy) ● 构建基于 tape 的自动升级系统上的深度神经网络 ● 你可以重用你喜欢的 python 包,如 numpy.scipy 和 Cython ,在需要时扩展 PyTorch. 2.deepfake 的深度学习技术 Facew

[IT学习]Python 小项目 通讯录 思路

建立一个通讯录查询软件,暂时只支持按姓名检索.出发点:无需登录企业门户,即可检索.要注意保护员工手机号,除非他自己同意显示. 欢迎您访问www.cnblogs.com/viphhs.转载请联系作者授权. 思路: 1.爬虫爬取基本数据,以字典加列表方式存放. 2.将该数据利用pandas存入csv. http://code-love.com/2017/04/30/ http://pandas.pydata.org/ http://pda.readthedocs.io/en/latest/chp5.

1.python小项目:大数据统计

大数据统计 1.项目需求,统计海量数据中某一参数的概率分布 2.实现过程 #!/usr/bin env python # -*- coding:utf-8 -*- import re def preprocess(fileName, pattern): ''' 将数据集进行预处理,比如取出RSSI那一列的数据 :param fileName: 接收相对路径 :param pattern: 接收正则表达式的模板 :return: 返回Region of interest数据集 ''' with o

python小项目练习(一)

写了一天,感觉人要渣..收获蛮多,但也有不少BUG,先放上来,日后继续学习完善.... """ 功能: 1.用户注册,提示用户输入用户名和密码,然后获取当前注册时间,最后将用户名.密码.注册时间写入到文件. 2.用户登录,只有三次错误机会,一旦错误则冻结账户(下次启动也无法登录,提示:用户已经冻结). 3.商品浏览,分页显示商品(小文件): 用户可以选择商品且可以选择数量然后加入购物车(在全局变量操作), 不再购买之后,需要讲购物车信息写入到文件,文件要写入到指定目录: sh

3.python小项目:学生选课系统

学生选课系统 编程核心:在对象中封装对象 目录结构: 1.administrator.py import random import os import sys sys.path.append(os.path.dirname(os.path.dirname(__file__))) import time import pickle from lib import models from config import settings from lib.models import * # 全部导入

Python 小项目

随机产生句子 nouns = ['apple', 'ball', 'cat', 'dog', 'elephant', 'fish', 'goat', 'house', 'iceberg', 'jackal', 'king', 'llama', 'monkey', 'nurse', 'octopus', 'pie', 'queen', 'robot', 'snake', 'tofu', 'unicorn', 'vampire', 'wumpus', 'x-ray', 'yak', 'zebra']