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()函数,选取列表中某个索引。

  • 相关阅读:
    浅谈Java中的栈和堆
    Java运行时内存划分
    浅谈Static
    浅谈同一家公司多个系统,共用登录用户名和密码
    浅谈Final
    浅谈StringBuffer
    浅谈加密算法BCrypt
    序列表 批量的含义
    安装activemq和java代码实现生产和消费
    Restful
  • 原文地址:https://www.cnblogs.com/654321cc/p/8448595.html
Copyright © 2011-2022 走看看