• 将图片转为字符表示形式


    在python3下执行,首先需要安装pillow

    pip3 install pillow

    #coding=utf-8
    from PIL import Image
    
    image_name='a.jpg'
    img=Image.open(image_name)
    
    print(img.size)
    print(img.mode) 
             
    #convert to black/white picture
    img=img.convert('L')
    #img.show()
    #img.save('f.jpg') 
                 
    #缩小图片
    w,h=img.size
    
    #如果图片太大,将高,宽做一个比例缩放 
    if w > 100:
        h=int((100/w)*h/2) #这里除去2是为了看着好看点
        w=100
        
    #防止图片缩放时,质量下降
    img=img.resize((w,h),Image.ANTIALIAS)
    #img.save('ff.jpg')
    
    if w > 100:
        h=int((100/w)*h/2) #这里除去2是为了看着好看点
        w=100
    
    #防止图片缩放时,质量下降
    img=img.resize((w,h),Image.ANTIALIAS)
    #img.save('ff.jpg')
    
    
    #convert to black/white picture
    img=img.convert('L')
    #img.show()
    #img.save('f.jpg')
    
    #缩小图片
    w,h=img.size
    
    #如果图片太大,将高,宽做一个比例缩放
    if w > 100:
        h=int((100/w)*h/2) #这里除去2是为了看着好看点
        w=100
    
    #防止图片缩放时,质量下降
    img=img.resize((w,h),Image.ANTIALIAS)
    #img.save('ff.jpg')
    
    #将缩小的图片像素点的颜色值转为字符并存放到列表
    
    data=[]
    #替换字符的列表(从左到右,颜色加深),这里用8个字符代替255个,每个字符代表大概32个像素区间.
    chars=[' ',',','1','+','n','D','@','M']
    #根据图片的高,宽遍历像素点并取出每个像素点的颜色值
    for i in range(0,h):
        line=''
        for j in range(0,w):
            pi=img.getpixel((j,i))
            #用字符去替代像素点的值
            for k in range(0,8):
                if pi < (k+1) * 32:
                    line += chars[7-k]
                    break
        data.append(line)
    
    
    #将保存的像素字符列表写入到文件
    file1=open(image_name+'.txt','w')
    for d in data:
        print(d,file=file1)
    file1.close()
    print('转换成功!')
    

      

  • 相关阅读:
    jekins 实现Django项目的自动部署(ubuntu16.04,python2.7,django1.11)
    Ubuntu16.04 安装 Django
    小米笔记本 air 12.5寸 支持硬盘参数
    editplus5激活码
    jmeter UDV
    c语言 快速排序
    html禁止文本输入框记录输入记录,单击input出现输入过的记录
    python pstats ,profile 性能分析
    python profile性能分析
    python 获取本地语言和编码的代码
  • 原文地址:https://www.cnblogs.com/regit/p/8855973.html
Copyright © 2020-2023  润新知