【问题标题】:PIL output picture bigger than inputPIL输出图片大于输入
【发布时间】:2021-04-23 14:28:52
【问题描述】:

我目前正在开发一个自动脚本,用于使用 PIL (python) 更改文件夹内所有图片的对比度。问题是每张输出图片都比输入图片大...这是我的脚本:

from PIL import Image, ImageEnhance
import piexif

path="C:/User/pictures/"
all_files=["picture1.jpg", "picture2.jpg", "picture3.jpg"]

for i in range(len(all_files)):

    im_path=all_files[i]
    
    
    im = Image.open(path+im_path)
    
    
    #load exif data
    exif_dict = piexif.load(im.info['exif'])
    exif_bytes = piexif.dump(exif_dict)
    
    dpi = im.info["dpi"]
    
    #image brightness enhancer
    contraster = ImageEnhance.Contrast(im)
    
    im_output = contraster.enhance(factor)
    im_output.save(new_path+im_path, format="JPEG", quality=100, dpi=dpi, exif=exif_bytes, subsampling=0)

比如我传入的jpg图片是8.08Mo,我新的一张是15.8Mo,即使我选择了0%的对比度变化……

感谢a的回答,周末愉快。

【问题讨论】:

    标签: image python-imaging-library filesize


    【解决方案1】:

    您已针对库作者的recommendations 指定quality=100

    图像质量,范围从 0(最差)到 95(最好)。默认值为 75。应避免高于 95 的值; 100 禁用部分 JPEG 压缩算法,并导致大文件几乎没有任何图像质量增益。

    【讨论】:

    • 哦,非常感谢,这样好多了!我应该读图书馆! :)
    猜你喜欢
    • 2021-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    • 2021-08-19
    相关资源
    最近更新 更多