Python(Python)修改图片后调整枕头大小

2024-06-08 00:21:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python编写了一个小脚本,它可以根据我的旧Whatsapp图片的文件名设置exif数据。在

我用piexif和PIL(枕头)包。在

import piexif
from PIL import Image
from collections import defaultdict

img = Image.open(fname)

try:
    exif_dict = piexif.load(img.info["exif"])
except KeyError:
    exif_dict = defaultdict(dict)

exif_dict['Exif'][piexif.ExifIFD.DateTimeOriginal] = exiftime(date)
exif_dict['Exif'][piexif.ExifIFD.DateTimeDigitized] = exiftime(date)

exif_bytes = piexif.dump(exif_dict)
img.save('%s' % fname, "jpeg", exif=exif_bytes)

函数的作用是:设置日期的格式。在

但是,脚本正在设置一些exif字段,我不会修改压缩或类似的内容。在

我的问题是,运行脚本后,图片会变得更小。 我用一些示例图像测试了这个脚本,例如一张用nikond5300拍摄的照片,分辨率为6000x4000。原始文件大约有12Mb,在脚本之后只有4Mb。在

脚本会导致图片质量下降,还是只是更好的压缩?在


Tags: fromimageimport脚本imgpil图片fname
2条回答

枕头的。保存自动压缩,默认质量75%的文件。你可以将压缩提升到100%(添加质量=100),这将最小化压缩,看起来它将完全跳过一些压缩组件,但枕头显然没有能力跳过压缩。很少有包这样做,我不知道Python模块的任何形式。注意,文档中说不提高95以上的质量,我可以证明这样做会输出一个更大的文件。。奇怪的。

这个回答有点晚,但类似的帖子指出了一个解决方案here只在文件中写入exif信息(使用piexif)。 因此,图像的内容不会被改变,因为没有压缩(通过“save”命令)。在

相关问题 更多 >

    热门问题