一百行python代码将图片转成字符画

作者:00-JOHNNY 时间:2023-05-06 05:49:15 

本文实例为大家分享了python将图片转成字符画的具体代码,供大家参考,具体内容如下

一百行python代码将图片转成字符画

一百行python代码将图片转成字符画

一百行python代码将图片转成字符画

一百行python代码将图片转成字符画

该代码引用了PIL库的Image,所以必须先安装PIP,再安装PIL,记住,我的64位系统居然是选WIN32 结尾的那个whl文件,然后才安装成功。

下面贴代码:


from PIL import Image
import argparse

#can shu chu li
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()

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

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

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'

print txt

if OUTPUT:
with open(OUTPUT,'w') as f:
f.writh(txt)
else:
with open("output.txt",'w') as f:
f.write(txt)

在安装好环境之后,将上面程序保存为XX.py ,运行命令符cd到当前py文件的目录,然后输入:

python XX.py YY.png

XX.py是你当前的python文件名,然后 YY.png是你要转换的图片,图片与py文件要保存在同一个目录;

快试一试吧,超级好玩的。

来源:https://blog.csdn.net/u014746368/article/details/50879235

标签:python,图片,字符画
0
投稿

猜你喜欢

  • 微信JSSDK调用微信扫一扫功能的方法

    2024-04-29 13:46:02
  • mysql存储过程事务管理简析

    2024-01-17 14:30:28
  • 关于 Python opencv 使用中的 ValueError: too many values to unpack

    2023-07-26 23:46:36
  • Python基于回溯法子集树模板解决数字组合问题实例

    2022-12-18 15:57:26
  • 原生js实现autocomplete插件

    2024-04-17 09:44:55
  • 使用ASP实现广告代理

    2010-05-27 12:15:00
  • 原生js实现波浪导航效果

    2024-04-17 10:06:25
  • python中的class_static的@classmethod的巧妙用法

    2022-07-18 15:54:43
  • 基于Vue实现简单的贪食蛇游戏

    2024-04-27 16:13:17
  • pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解

    2021-06-03 09:28:09
  • Javascript typeof与instanceof的区别

    2024-06-07 15:53:47
  • 分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式

    2024-05-22 10:41:02
  • 浅谈Python数学建模之线性规划

    2021-02-11 17:57:35
  • H1标签的定义

    2008-07-29 12:43:00
  • Python使用中文正则表达式匹配指定中文字符串的方法示例

    2021-11-28 22:17:00
  • Django自定义用户表+自定义admin后台中的字段实例

    2022-05-27 08:16:01
  • Python try except finally资源回收的实现

    2021-04-05 20:53:06
  • 解决mysql 1040错误Too many connections的方法

    2024-01-24 06:56:58
  • 如何提高网页的维护效率

    2009-03-01 11:33:00
  • 深入了解和应用Python 装饰器 @decorator

    2024-01-02 09:20:05
  • asp之家 网络编程 m.aspxhome.com