首页 > 其他 > 详细

小试牛刀2

时间:2018-02-14 18:11:30      阅读:203      评论:0      收藏:0      [点我收藏+]

一 图片转字符画 

  字符画,一种由字母、标点、汉字或其他字符组成的图画。

from PIL import Image

def gray_sacle(r,g,b):
    l = "abcdefghigklmnopqrstuvwxyzQWERTYUIOPASDFGHJKLZXCVBNM,./<>?;‘:[]{}\|~`!@#$%^&*()_+-="
    l = list(l)
    #这是一般公式
    gray_value = 0.3*r+0.6*g+0.1*b
    unit = 256/len(l)
    return l[int(gray_value/unit)]

if __name__ == __main__:

    image = Image.open(a1.jpg)
    width,height = image.size
    width = int(width/2)
    height = int(height/2)
    # resize :Returns a resized copy of this image.
    image = image.resize((width,height))
    pic = ""
    for i in range(height):
        for j in range(width):
            #getpixel:Returns the pixel value at a given position.
            r,g,b = image.getpixel((j,i))
            pic += gray_sacle(r,g,b)
        pic += \n
    with open(a1.txt,w) as f:
        f.write(pic)

  反思:

    1 获取图片的每个像素的rgb。 getpixel() 

    2 彩色图片转变为灰度,一般按加权的方法转换,R, G,B 的比一般为3:6:1。

    3 最基本的算法都忘掉,不会了吗。在写gray_scale()函数,选取列表中某个索引。

小试牛刀2

原文:https://www.cnblogs.com/654321cc/p/8448595.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!