五分钟30行代码使用Python制作熊猫表情包(图片字符化)(附有源码逐行分析) |
您所在的位置:网站首页 › Pycharm表情包搞笑 › 五分钟30行代码使用Python制作熊猫表情包(图片字符化)(附有源码逐行分析) |
@ 目录一.Demo二.程序演示加讲解三.分析程序四.注意事项五.程序的改进 一.Demo相信许多的小伙伴在平时玩QQ的时候都有发过这样一张表情包,如下:
我们在Pycharm中的Terminal,先进入我们项目所在地,然后输入如下命令进行传参运行。 python 01.py D:/课程/python/image/myimage1.jpg --output=0 --width=45 --height=20
补充的知识: 灰度值:指黑白图像中点的颜色深度,范围从0到255,白色为255,黑色为0,所以黑白图片也称灰度图像。 RGB:red,green,blue,三原色,人们日常所能看到的颜色都是由三原色组成 我们的实验原理就是将RGB值映射到灰度值上 我们建立一张列表,灰度值小的在列表的开头,灰度值大的作为列表的结尾。这样就能建立起原图与数字化图片之间的联系。 (1)主函数: Image.open(file) 返回一张图片,file为文件存储路径 rgb_im.convert(mode) 返回一张图片,图片经过格式转换,mode为一种颜色转换模板。 (其他参数,dither:控制颜色抖动,palette:调动调色板,Color:控制调色板的颜色数目,最大有256种) im.resize(size, filter) 返回一张图片,变量size是所要求的尺寸,是一个二元组:(width, height)。变量filter为NEAREST、BILINEAR、BICUBIC或者ANTIALIAS之一。如果忽略,或者图像模式为“1”或者“P”,该变量设置为NEAREST。 (2)RGB转灰度值 alpha=0 表示空白 最大为alpha = 255 (3)灰度值转换成字符 im.getpixel((j,i)) 获取得到坐标 (j,i) 位置的 RGB 像素值(但是有的时候会包含 alpha 值),返回的结果是一个元组.* 可以将元组作为参数传递给 get_char,同时元组中的每个元素都对应到 get_char 函数的每个参数。 (4)当然,如果我们想要以文件的形式输出,可以加入使用下面的程序 if OUTPUT: with open(OUTPUT, 'w') as f: f.write(txt) else: with open("output.txt", 'w') as f: f.write(txt) 四.注意事项我们在用命令行运行程序的时候,不能写入file=,当然,也不能写成文件路径带有双引号或者单引号,参数之间用空格键隔开。
我们可以通过改变ascii_char的值,来改变我们的程序,使得效果最佳。
小技巧:我们可以使得相同或相近的颜色区域字符相同,这样能得到好的效果。如下:
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |