当我给图像添加评论时,为什么图像的大小会减小?

2024-05-14 20:55:04 发布

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

我试图添加一个评论到我的图像,它减少了文件大小。我有三个图像都有不同的文件大小和不同的用户评论EXIF数据。没有评论的图像是最大的。为什么没有评论的图片是最大的?通过编辑EXIF数据,我正在压缩或改变图像。你知道吗

  • 我有一个2007KB的图像。在中不包含用户注释 是exif数据。你知道吗
  • 当我添加评论(“嗨,我喜欢土豆”只是一个测试评论) 通过属性页(Windows10),它减小了我的 图像到1991KB。你知道吗
  • 当我使用python脚本添加用户注释时(“诸如此类 它将文件大小减少到726KB。你知道吗

除了文件大小和EXIF数据,我没有发现图像中的其他差异。我放大了图像,没有注意到不同之处。我浏览了EXIF的其他数据,发现有一些不同之处。区别在于

  • EXIF互操作性偏移
  • EXIF偏移模式
  • EXIF填充
  • GPS GPS处理方法
  • 图像ExifOffset
  • 图像GPSInfo
  • 图像填充
  • 图像XPComment
  • 互操作性索引
  • 互操作性互操作性版本
  • 缩略图JPEG格式
  • 缩略图长度。你知道吗

如果你还有其他问题,请告诉我。你知道吗

下面是python脚本:

import piexif
import os.path 
from PIL import Image

def writeExifComment(filename,comment):

    im = Image.open(filename)
    fileExtension = os.path.splitext(filename)[1]
    exif_dict = piexif.load(im.info["exif"])
    exif_dict["Exif"][piexif.ExifIFD.UserComment] = comment
    exif_bytes = piexif.dump(exif_dict)
    im.save(filename, 'jpeg', exif=exif_bytes)
    im.close()

def readExifComment(filename):

    data = piexif.load(filename)
    exif = data['Exif']
    comment = exif.get(37510, '').decode('UTF-8')
    return comment

filename = '1.jpg'

writeExifComment(filename,"blah blah blah")
print(readExifComment(filename))

Tags: 数据用户图像import脚本comment评论filename
1条回答
网友
1楼 · 发布于 2024-05-14 20:55:04

使用PIL库保存图像(im.save(filename, 'jpeg', exif=exif_bytes))时,会使用默认质量。这default is 75(这意味着-如果您的原始图像质量更高-在保存过程中-图像的质量会降低,图像的大小也会减小)。你知道吗

您可以使用quality=X(X=1->;95,您应该避免95以上的任何数字)来更改质量:

im.save(filename, 'jpeg', exif=exif_bytes, quality=95)

Note that it might create an image with higher size than your original image's size.

堆栈上有一个关于图像原始质量的问题,您可以在这里查看更多:Determining JPG quality in Python (PIL)

相关问题 更多 >

    热门问题