Python图像分辨率不变,压缩图像到固定大小 您所在的位置:网站首页 ps改变图片尺寸大小并保持清晰 Python图像分辨率不变,压缩图像到固定大小

Python图像分辨率不变,压缩图像到固定大小

2024-07-14 14:15| 来源: 网络整理| 查看: 265

压缩图像

使用 Python压缩图像到固定大小,并保证分辨率不变 关键点: 使用 PIL 库,通过save函数调整图像质量,达到降低存储大小目的。 img.save(output_name, quality=quality)

quality参数: 保存图像的质量,值的范围从1(最差)到95(最佳)。 默认值为75,使用中应尽量避免高于95的值; 100会禁用部分JPEG压缩算法,并导致大文件图像质量几乎没有任何增益。subsampling参数:子采样,通过实现色度信息的分辨率低于亮度信息来对图像进行编码的实践。 (参考:https://en.wikipedia.org/wiki/Chroma_subsampling) 可能的子采样值是0,1和2,对应于4:4:4,4:2:2和4:1:1(或4:2:0?)。经过实践将值设为0便可以满足图片大小增大的需求。

函数说明: 以下方法的参数只针对于保存为JPG/JPEG格式的图片的情况。

from PIL import Image import os def get_size(filename): # Obtain the file size: KB size = os.path.getsize(filename) return size / 1024 def compress_image(img_path, out_path, mb=50, step=5, quality=100): """不改变图片尺寸压缩图像大小 :param img_path: 压缩图像读取地址 :param out_path: 压缩图像存储地址 :param mb: 压缩目标,KB :param step: 每次调整的压缩比率 :param quality: 初始压缩比率 :return: 压缩文件地址,压缩文件大小 """ o_size = get_size(img_path) if o_size mb: img = Image.open(img_path) img = img.convert('RGB') img.save(out_path, quality=quality) if quality - step


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有