小编Håk*_*sen的帖子

使用 Python 将“拍摄日期”Exif/XMP 信息添加到 TIF 文件

在 Windows 10 上使用以下 Python 代码,我尝试编辑使用 Nikon Scan 4.0.3(2008 年左右的软件)创建的 tif 图像文件上“拍摄日期”的 EXIF 信息。

import piexif

def setImageDateTakenAttribute(filename, date_taken):
exif_dict = piexif.load(filename)
exif_dict['Exif'] = { 
    piexif.ExifIFD.DateTimeOriginal: datetime.datetime(*date_taken[:6]).strftime("%Y:%m:%d %H:%M:%S") 
} 
exif_bytes = piexif.dump(exif_dict)
piexif.insert(exif_bytes, filename)
Run Code Online (Sandbox Code Playgroud)

这在 Python 3 中对于 jpeg 文件运行良好,但是当我尝试使用相同的代码编辑 tif 文件时,出现以下错误:

    setImageDateTakenAttribute(full_path, folder_date)
  File "image-and-movie-bulk-creation-dates.py", line 78, in setImageDateTakenAttribute
    piexif.insert(exif_bytes, filename)
  File "C:\Python37\lib\site-packages\piexif\_insert.py", line 39, in insert
    raise InvalidImageDataError
piexif._exceptions.InvalidImageDataError
Run Code Online (Sandbox Code Playgroud)

到目前为止,我一直在寻找可能支持我的文件的其他软件包,但没有成功。

有谁知道如何在Python中完成编辑而不删除现有的exif信息,并且不改变图像格式?

要重现或获取失败的 tif 文件的示例,请克隆我的项目(链接如下)。

细节:

将数千张图片扫描到 tif 文件后,我想指定“拍摄日期”的 EXIF 值。我正在编写一个 Python 脚本来在 Windows (BitBucket)中执行此操作,该脚本还将根据以 YYYY-MM-DD * …

python xmp exif image piexif

3
推荐指数
1
解决办法
2100
查看次数

标签 统计

exif ×1

image ×1

piexif ×1

python ×1

xmp ×1