PIL(Python Imaging Library)中保存图片时,save()函数使用详解

这篇具有很好参考价值的文章主要介绍了PIL(Python Imaging Library)中保存图片时,save()函数使用详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

save()函数参数:

  • format:指定保存图像的格式,如 JPEG、PNG、GIF 等。如果未指定格式,则根据文件扩展名自动推断。
  • quality:用于指定 JPEG 格式的图像质量,取值范围为 1-95。实际调用时都是些100
  • optimize:对于某些格式(如 GIF),通过将此参数设置为True来优化保存的图像文件大小。
  • progressive:对于 JPEG 格式,通过将此参数设置为True来生成渐进式的 JPEG 图像。
  • compress_level:用于某些格式(如 PNG),指定压缩级别。取值范围为 0-9,其中 0 表示无压缩,9 表示最高压缩。
  • subsampling:对于 JPEG 格式,用于指定色度子采样的方法。可以是0(4:4:4,无子采样)、1(4:2:2,水平子采样)或2(4:2:0,水平和垂直子采样)。
  • dpi:用于设置图像的 DPI(每英寸点数),可以传递一个整数值或表示水平和垂直 DPI 的元组。
  • icc_profile:用于指定图像的 ICC(International Color Consortium)配置文件的路径。
  • append_images:用于 GIF 格式,指定要附加到原始图像之后的图像序列。传递一个图像列表作为参数。
  • save_all:用于 GIF 格式,指定是否保存所有图像帧,默认为False
  • loop:用于 GIF 格式,指定循环播放的次数。可以传递一个整数值,表示循环次数;或者传递0表示无限循环。
  • duration:用于 GIF 格式,指定每个帧之间的显示时间(以毫秒为单位)。
  • 其他特定格式的参数:不同的图像格式可能具有特定的保存选项,可以根据格式的要求传递额外的参数。

简单案例演示:


案例1、设置保存图片DPI

在 PIL 中,dpi=(dpi_value, dpi_value) 表示在保存图像时设置水平和垂直方向上的 DPI(每英寸点数)为相同的值。

通常情况下,图像的 DPI 是以元组 (horizontal_dpi, vertical_dpi) 的形式进行设置。但是,对于大多数图像格式来说,水平和垂直方向上的 DPI 设置为相同的值是足够的。

以下是一个示例代码,展示了如何使用 dpi=(dpi_value, dpi_value) 来设置水平和垂直方向上的 DPI 相同:

from PIL import Image

# 打开图像
image = Image.open("image.jpg")

# 设置 DPI
dpi_value = 300

# 保存图像,并设置水平和垂直方向上的 DPI 为相同的值
image.save("output.jpg", dpi=(dpi_value, dpi_value))

在上述示例中,我们将图像的 DPI 设置为 300,并使用 save() 函数将图像保存为 "output.jpg",同时将水平和垂直方向上的 DPI 设置为相同的值。

案例2、设置图片的配置文件

在PIL库的save()方法中,还有一个可选参数icc_profile用于指定图像的ICC(International Color Consortium)配置文件。

ICC配置文件是一种描述颜色空间和颜色管理信息的文件,用于确保图像在不同设备和软件之间的一致显示和输出。通过使用icc_profile参数,您可以将ICC配置文件嵌入到保存的图像中。

以下是示例代码,展示了如何在保存图像时使用icc_profile参数:

from PIL import Image

# 打开图像
image = Image.open("image.jpg")

# 设置ICC配置文件路径
icc_profile_path = "sRGB.icc"

# 保存图像,并嵌入ICC配置文件
image.save("output.jpg", icc_profile=icc_profile_path)

在上述示例中,我们打开了名为image.jpg的图像,并将ICC配置文件的路径设置为"sRGB.icc"。然后,我们使用save()方法将图像保存为output.jpg,并通过icc_profile参数指定了ICC配置文件。

请注意,要使用icc_profile参数,您需要确保安装了Pillow库的可选依赖lcms2。在某些系统上,可能需要手动安装lcms2库。

复杂案例演示:


# 打开图像
image = Image.open("image.jpg")

# 设置ICC配置文件路径
icc_profile_path = "sRGB.icc"

# 输出文件地址
file_path = "image_out.jpg"


# 保存
image .save(file_path, dpi=(300, 300), quality=100, optimize=True, icc_profile=icc_profile_path)

# 参数解释
file_path:图片输出位置
dpi:设置图像的 DPI 是 (horizontal_dpi, vertical_dpi) 水平和竖直DPI为300
quality(可选参数):用于指定 JPEG 格式的图像质量,取值范围为 1-95。实际调用时都是些100
optimize(可选参数):用于某些格式(如 GIF),指定是否优化保存的图像文件大小,默认为False。如果设置为True,则会尝试减小文件大小,但可能会增加保存时间。
icc_profile:用于指定图像的 ICC(International Color Consortium)配置文件的路径。

常用的基本上就这么多,如果以上还不能满足你的要求,请查阅pil文档文章来源地址https://www.toymoban.com/news/detail-454212.html

到了这里,关于PIL(Python Imaging Library)中保存图片时,save()函数使用详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 通过Python的PIL库给图片添加图片水印

    大家好,我是空空star,本篇给大家分享一下通过Python的PIL库给图片添加图片水印。 上一篇已经介绍过了PIL库是什么?安装PIL 、查看PIL版本,这里就不再介绍了。 这里我去C站首页找了一个,看起来是不是很酷。 7.1调整前 7.2调整后 8.1左上 8.2左下 8.3右上 8.4右下 8.5中间 其他位

    2023年04月19日
    浏览(44)
  • 【Python】PIL给图片添加水印最全代码解释

    以下是一个添加水印的方法,你可以将其放在一个单独的 Python 文件中,然后在需要添加水印的地方调用该方法即可: 该方法接受五个参数: image_path :需要添加水印的图片路径; text :水印文本; font_path :字体文件路径; font_size :字体大小,默认为 40; fill :水印颜色,

    2024年02月05日
    浏览(35)
  • docker 本地保存镜像方法--docker export 和docker save 使用介绍

    在很多环境中,由于网络问题,无法docker pull 镜像,就需要tar包方式获取镜像,以下就制作tar包的方式和区别加以介绍: 如果要定义tag,如下操作 三、异常情况 3.1、docker import docker save的包 3.2、docker load docker export 的包 1、https://blog.csdn.net/Wqr_18390921824/article/details/123083151 2、

    2024年02月08日
    浏览(33)
  • 通过Python的PIL库给图片添加文本水印

    大家好,我是空空star,本篇给大家分享一下通过Python的PIL库给图片添加文本水印。 PIL是Python Imaging Library的缩写,它是Python语言中常用的图像处理库之一。它提供了丰富的图像处理功能,包括打开、保存、裁剪、旋转、缩放等操作,并支持多种图像格式。 Name: Pillow Version: 9

    2023年04月19日
    浏览(36)
  • 通过Python的PIL库给图片添加马赛克

    大家好,我是空空star,本篇给大家分享一下通过Python的PIL库给图片添加马赛克。 Pillow是一个Python图像处理库,它是Python Imaging Library(PIL)的一个分支。Pillow提供了广泛的图像处理功能,包括图像格式转换、图像增强、图像滤波、图像调整、图像合成等。使用Pillow,开发人员

    2024年02月06日
    浏览(39)
  • 【深度学习】python使用opencv调用摄像头拍摄并保存图片

    打开pycharm,新建一个camerm.py文件,把下面代码复制粘贴进去就可以了。 需要安装两个库:pip install opencv-python;pip install numpy

    2024年02月11日
    浏览(31)
  • docker save 保存导出镜像

    注意这里是使用 容器id , 版本号可加可不加 官方文档:https://docs.docker.com/engine/reference/commandline/save/

    2024年02月12日
    浏览(33)
  • 【Python】【Matplotlib】解决使用 plt.savefig() 保存的图片出现一片空白的问题

    【Python】【Matplotlib】解决使用 plt.savefig() 保存的图片出现一片空白的问题 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~ 💡 创作高质量博文(平均质量分92+),分

    2024年03月22日
    浏览(30)
  • Python使用 YOLO_NAS_S 模型进行目标检测并保存预测到的主体图片

    使用 YOLO_NAS_S 模型进行目标检测,并保存预测到的主体图片 安装包: 安装所需的库和框架。确保已经安装了 OpenCV、PyTorch 和 torchvision 下载 YOLO_NAS_S 模型的权重文件,并加载模型 进行图像预处理。对于每张输入图像,需要将其转换为模型可接受的格式,并进行归一化处理 使

    2024年02月10日
    浏览(36)
  • docker save (docker镜像保存导出)

    官网文档地址:https://docs.docker.com/engine/reference/commandline/save/ 创建一个与镜像相同的docker备份。 1、重定向 进行保存 2、使用 --output 参数,进行保存 3、使用 -o 参数,进行保存 使用gzip将docker镜像保存到tar.gz文件中 You can use gzip to save the image file and make the backup smaller. 选择特定

    2024年02月12日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包