小项目图像转换字符串

Posted achoo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小项目图像转换字符串相关的知识,希望对你有一定的参考价值。

from PIL import Image

im=r"C:\\Users\\Achoo\\Desktop\\love.PNG"#原始图片路径
im_path=r"C:\\Users\\Achoo\\Desktop\\LOVE.txt"#记事本路径
zifu="[email protected]#.%^&.()_{}><[email protected]"#字符集
def rgbx(r,g,b,a):
    gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)#将rgb值转换为灰度值
    lenght=len(zifu)
    id=int(256/lenght)
    return zifu[int(gray/id)]#将该灰度值与字符集对应
def change(im,da=10):#将原图像压缩
    height,width=im.size
    print(height,width)
    height=int(height/da)
    width=int(width/da)
    print(height,width)


    im=im.resize((height,width))
    return im

def imagechar(img_p,savepath):
    width,height=img_p.size
    txt=""
    for i in range(height):
        line=""
        for j in range(width):
            line=line+rgbx(*img_p.getpixel((j,i)))#获取原像素的rgb值
        txt+=line+"\\n"
    with open(savepath,‘w+‘,encoding=‘utf-8‘) as f:
        f.write(txt)
im=Image.open(im)
im=change(im)
imagechar(im,im_path)

 技术分享图片技术分享图片

第一个小程序遇到挺多问题的,例如刚开始在实验楼在线敲,好不容易敲完了,网断了,又重新敲一回

利用resize变化图像尺寸时,传递的参数为整数

getpixel((x,y))获取(x,y)位置上的RGB值

以上是关于小项目图像转换字符串的主要内容,如果未能解决你的问题,请参考以下文章

带有共享元素的 Android 片段转换

微信小程序代码片段

从头开始查看寻呼机图像(片段)滑块

android小知识点代码片段

在创建视图的片段期间为项目列表中的每个项目设置图像[重复]

我如何从一个片段到另一个片段的列表视图适配器进行事务