zoukankan      html  css  js  c++  java
  • 小试牛刀2

    一 图片转字符画 

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

    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 += '
    '
        with open('a1.txt','w') as f:
            f.write(pic)

      反思:

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

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

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

  • 相关阅读:
    HTTP协议
    django-两种方式对单表的操作
    模态框对话
    django
    web框架原理
    DNS详解
    jQuery
    初识web框架
    练习:简单主页搭建
    多表查询
  • 原文地址:https://www.cnblogs.com/654321cc/p/8448595.html
Copyright © 2011-2022 走看看