python常用库之Pillow(PIL)的使用
一、基本使用
测试图片为:
1.打开
from PIL import Image im = Image.open("C:/Users/bingyunsky/Desktop/test.jpg") print(im.format, im.size, im.mode) # 打印格式、尺寸(长、宽;pixels)、类型
# 输出结果: JPEG (200, 200) RGB
im.show() # 展示获取到的图片
常用属性
im.width # 宽度 im.height # 高度 im.size # 尺寸(宽和高),是一个元组 im.mode # 模式,如RGB, RGBA, P, L等 im.format # 格式,如.jpg .png等 im.readonly # 是否只读,值为0或1 im.category # 类别 im.info # 图片的信息,是一个字典
2.创建一张新图片
from PIL import Image im = Image.new('RGB', (200, 160), (0, 0, 255)) # (0,0,255)可以换成'#0000FF'或者'blue',都是表示蓝色 im.show()
运行结果:
3.图片的模式
4.图片的模式转换(convert)
from PIL import Image im = Image.open("C:/Users/bingyunsky/Desktop/test.jpg") print(im.mode) im1 = im.convert('1') print(im1.mode) # im1.show() im2 = im.convert('L') print(im2.mode) # im2.show() im3 = im.convert('P') print(im3.mode) im3.show() # 输出结果为: # RGB # 1 # L # P
convert(self, mode=None, matrix=None, dither=None, palette=WEB, colors=256): 将当前图片转换为指定的模式,并且返回转换后的图片。如果不指定模式,则选择一种能保留图片所有信息且不使用调色板的模式(通常的结果是不转换)。将彩色图像转换为灰度('L')时,使用ITU-R 601-2进行亮度转换:L = R * 299/1000 + G * 587/1000 + B * 114/1000 。将灰度('L')或真彩('RGB')转换为模式'1'时,如果dither参数为'NONE',所有大于128的值均设置为255(白色),所有其他值都设为0(黑色)。
convert()方法有5个参数,都有默认值,根据转换的模式来传值:
mode,图片的模式,传入需要转换的模式。部分模式之间不支持转换,代码会报错。
matrix, 转换矩阵。传入该参数时,应该传入由浮点数构成的元组,元组长度为4或12。matrix只支持从少数模式转换成'L'或'RGB'。
dither, 高频振动,用于控制颜色抖动。从模式'RGB'转换为'P'或从'RGB'或'L'转换为'1'时使用。可用的方法有'NONE'或'FLOYDSTEINBERG'(默认)。当提供了matrix参数时不使用此功能。
palette, 调色板,用于控制调色板的产生。从模式'RGB'转换为'P'时使用,可用的方法有'WEB'(默认)或'ADAPTIVE'。'ADAPTIVE'表示使用自适应的调色板。
colors, 自适应调色板使用的颜色数。当palette参数为'ADAPTIVE'时,用于控制调色板的颜色数目。默认是最大值,即256种颜色。
更多:https://blog.csdn.net/leemboy/article/details/83792729
https://www.jb51.net/article/196007.htm