Python Pillow.Image 图像保存和参数选择方式

1. Pillow.Image 图像保存和参数选择方式

Pillow 是一个用于处理图像的 Python 库,提供了丰富的功能和灵活的参数选择方式。在 Pillow 中,我们可以通过调用 Image 对象的 save() 方法来保存图像。同时,我们还可以根据需求选择不同的参数来控制保存的图像质量、格式等属性。

2. 图像保存的基本语法

2.1 语法

Image.save(fp, format=None, **params)

其中,参数 fp 是保存文件的路径;参数 format 是保存的图像格式,如果不指定则根据文件后缀名进行判断;参数 params 是一个字典类型的参数,用于指定保存时的其他额外选项。

2.2 示例

from PIL import Image

# 打开图像

image = Image.open('example.jpg')

# 保存图像

image.save('saved_image.jpg')

上述代码中,我们使用 Image.open() 方法打开一张图像,并将其保存为 saved_image.jpg。

注意:在保存图像时,需要确保保存路径的文件夹已经存在,否则会报错。

3. 图像保存的参数选择

除了基本的保存语法外,我们还可以通过指定不同的参数来控制图像保存的一些属性,下面是一些常用的参数。

3.1 format 参数

format 参数用于指定保存的图像格式,常见的格式有 JPEG、PNG、GIF 等。如果不指定 format 参数,则根据文件路径的后缀名自动判断保存的格式。

image.save('image.jpg', format='JPEG')

image.save('image.png', format='PNG')

上述代码中,我们分别指定了保存图像的格式为 JPEG 和 PNG。

3.2 quality 参数

quality 参数用于控制图像保存的质量,只对某些格式(如 JPEG)的图像有效。quality 参数的取值范围为 1-95,值越大图像质量越好,但文件大小也越大。

image.save('image.jpg', format='JPEG', quality=90)

上述代码中,我们指定了保存图像的格式为 JPEG,并将质量设置为 90。

3.3 optimize 参数

optimize 参数用于控制是否启用图像的优化功能,只对某些格式(如 JPEG)的图像有效。默认情况下,Pillow 会自动对图像进行优化压缩,以减小文件大小。

image.save('image.jpg', format='JPEG', optimize=True)

上述代码中,我们启用了图像的优化功能。

3.4 subsampling 参数

subsampling 参数用于控制彩色图像的子采样方式,只对某些格式(如 JPEG)的图像有效。subsampling 参数的取值为 0、1 或 2,其中 0 表示最高质量的无损压缩,1 表示默认的压缩,2 表示较低的压缩。

image.save('image.jpg', format='JPEG', subsampling=0)

上述代码中,我们设置了图像的子采样方式为最高质量的无损压缩。

4. 综合示例

下面是一个综合使用上述参数的示例。

image.save('image.jpg', format='JPEG', quality=80, optimize=True, subsampling=1)

在上述示例中,我们将图像保存为 JPEG 格式,设置了质量为 80,启用了优化功能,并采用默认的压缩方式。

5. 总结

通过本文我们了解了使用 Pillow.Image 中的 save() 方法来保存图像的基本语法,并介绍了一些常用的参数和用法。根据具体的需求,我们可以根据需要选择不同的参数来控制保存的图像格式、质量以及其他属性。

后端开发标签