图片变字符画php,python 图片转字符画

阅读: 评论:0

图片变字符画php,python 图片转字符画

图片变字符画php,python 图片转字符画

虽然我PHP教程还没写完呢,我昨天试图写来着,后来又没写。:cry:

我女朋友不知道为啥又生气了,昨天早上还好着呢,中午就生气了,到现在我还不知道为什么。:cry:

没关系,我长大了,听一首不可撤销的 启程 压压惊。 :cry:

我想我今天应该做点什么?起床洗头发,想啊想啊,做这个 python 图片转字符画。

简单介绍一部分,后面贴代码和效果图。

需要 PIL 库

pip install pil 安装了半天安装不了,但是 pip search pil 确实搜索到了,找了半天,好像 pillow 和 pil 是一个东西。

Pillow 是 PIL的对Python3支持的另外一个分支,当然他对Python2也兼容,由于PIL安装起来比较烦,而使用pip可以很轻松的安装Pillow,所以我选择Pillow使用,但是其核心还是PIL库的。

灰度值

灰度值:指黑白图像中点的颜色深度,范围一般从0到255,白色为255,黑色为0,故黑白图片也称灰度图像

可以使用灰度值公式将像素的 RGB 值映射到灰度值:

gray = int(0.2126*r+0.7152*g+0.0722*b)

下面是完整的代码:

# -*- coding: utf-8 -*-

# by opqnext, 2017.02.08

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()

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

然后截取一张效果图,一目了然,你在做的东西是什么?

pillow.png

魔镜啊,魔镜呐,你说...

本文发布于:2024-01-31 12:59:30,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170667716928698.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字符   图片   python   php
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23