上节我们讲了 Python 的图像处理库 PIL 的基本图像处理功能,打开了 PIL 的神秘面纱。这节我们接着讲 PIL 的 Image 模块的常用方法。
Image 模块的方法
convert
Image.convert(mode=None, matrix=None, dither=None, palette=0, colors=256)
参数说明:
- mode:转换的模式
- matrix:可选转变矩阵。如果给出,必须为包含浮点值长为 4 或 12 的元组。
- dither:抖动方法。RGB 转换为 P;RGB 或 L 转换为 1 时使用。有 matrix 参数可以无 dither。参数值 NONE 或 FLOYDSTEINBERG(默认)。
- palette:调色板,在 RGB 转换为 P 时使用, 值为 WEB 或 ADAPTIVE 。
- colors:调色板的颜色值,默认 256.
转换图片模式,它支持每种模式转换为"L" 、 “RGB"和 “CMYK”。
有 matrix 参数只能转换为"L” 或 “RGB”。
当模式之间不能转换时,可以先转换 RGB 模式,然后在转换。
色彩模式转换为 L 模式计算公式
如下:
L = R * 299/1000 + G * 587/1000 + B * 114/1000
我们一般使用时,只用传需要转换的 mode 即可,其他的可选参数需要先理解图片深层次的原理后才可以理解,大家如果感兴趣可以去深入了解一下。下面我们来看一个简单实例:
from PIL import Image
im = Image.open('cat.png')
im.show()
# 将图像转换成黑白色并返回新图像
im1 = im.convert('L')
im1.show()
我们将一个图像转换成 L模式(灰色),转换结果如下图所示:

copy
Image.copy()
复制图像方法,该方法完全复制一个一模一样的图像,很好理解,我们就不举例说明了。
crop
Image.crop(box)
参数说明:
- box:相对图像左上角坐标为(0,0)的矩形坐标元组, 顺序为(左, 上, 右, 下)
该方法从图像中获取 box 矩形区域的图像,相当于从图像中抠一个矩形区域出来。我们来看例子:
from PIL import Image
im = Image.open('cat.jpg')
print(im.size)
im.show()
# 定义了图像的坐标位

最低0.47元/天 解锁文章
728

被折叠的 条评论
为什么被折叠?



