zoukankan      html  css  js  c++  java
  • 图片转换成字符图

    这个程序的核心思想就是将图片的每种颜色与一个字符形成映射关系,然后用字符来表示该种颜色。

    我们可以首先可以获取每个像素点的r,g,b值,然后通过公式:

    gray = 0.2126 * r + 0.7152 * g + 0.0722 * b

    就可以得到每个像素点的灰度值。

    准备好一串字符串,将不同的灰度值与不同的字符进行映射即可。

     1 from PIL import Image
     2 
     3 change_char = list("@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/|()1{}[]?-_+~<>i!lI;:,")
     4 length = len(change_char)
     5 f = open('result.txt', 'w')
     6 
     7 def get_gray(im):
     8     txt = ''
     9     im = im.resize((int(im.size[0]*0.5), int(im.size[1]*0.4)))
    10     width, height = im.size
    11     for h in range(height):
    12         for w in range(width):
    13             r,g,b = im.getpixel((w,h))
    14             gray = int(0.2126*r + 0.7152*g + 0.0722*b)
    15             unit = (256 + 1)/length
    16             txt = txt + change_char[int(gray/unit)]
    17         txt = txt + '
    '
    18     f.write(txt)
    19 
    20 
    21 if __name__ == '__main__':
    22     im = Image.open('pic.jpg')
    23     get_gray(im)

  • 相关阅读:
    cae when分组统计
    查看 Chrome 下载的文件的真实下载地址
    directory opus使用教程
    文件内容极速搜索工具: silversearcher-ag
    LINUX SHELL 变量的二次引用
    JS小练习
    jQuery
    JS-BOM对象
    JS-DOM对象
    JavaScript-基础知识
  • 原文地址:https://www.cnblogs.com/zyb993963526/p/8404666.html
Copyright © 2011-2022 走看看