问题描述
我目前正在编写一个自动脚本,用于使用 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%的对比度变化...
感谢回答,周末愉快。
解决方法
您已针对库作者的 recommendations 指定了 quality=100
。
图像质量,范围从 0(最差)到 95(最好)。默认值为 75。应避免使用大于 95 的值; 100 禁用部分 JPEG 压缩算法,并导致大文件几乎没有图像质量增益。