如何获取/编辑多个图像的 EXIF 元数据?

I-M*_*-JM 33 metadata software-recommendation image-processing batch

昨天晚上我遇到了大问题。

我拿出我的旧数码相机,在没有设置当前日期和时间的情况下开始使用它。

现在点击的所有照片的日期为 2009 年 1 月 1 日

我想更改多个图像的日期和时间(以及其他 EXIF 图像元数据)。

请推荐一些可以在单击/运行中处理多个图像的软件。

小智 35

由于您已经有了一个 GUI 解决方案,我想我会提到还有几种方法可以在命令行上更改 EXIF 数据;两个有用的工具是exiftooland jhead,可以使用以下命令安装它们:

sudo apt-get install libimage-exiftool-perl jhead
Run Code Online (Sandbox Code Playgroud)

使用这两种工具,您可以一次操作多个文件,但您可能希望在开始操作 exif 数据之前备份您的文件。

jhead

要“单击一次”更改多个文件的时间和日期 EXIF 数据,您可以打开终端并对cd带有图片的文件夹执行以下操作并运行:

jhead -ts2012:10:29-10:28:03 *.jpg
Run Code Online (Sandbox Code Playgroud)

-ts开关允许您指定所需的日期和时间,并将其一次性写入 exif 标头:此处指定的格式为YYYY:MM:DD-HH:MM:SS.

如果您只想更改日期而不指定时间,则可以使用:

jhead -ds2012:10:29 *.jpg
Run Code Online (Sandbox Code Playgroud)

例如,如果您指定了使用特定相机拍摄的一些照片,您也可以只为一张照片执行此操作-model "D70",但该选项必须在处理中排在第一位,并且必须是“D70”、“S100”而不是“Nikon D70” ”。查看图片中的 exif 读数以获得正确的型号。

jhead -model "D70" -ts2012:10:29-10:28:03 *.jpg
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅man jhead

exiftool

该实用程序的选项比jhead 多,而且非常全面,如官方站点所述exiftool的图形前端正在开发中,但目前处于早期阶段,但看起来很有希望。

日期和时间偏移选项以及可以使用的格式非常广泛,如此有用的 pdf 中所述。与jhead 一样,您可以决定更改时间和日期,或仅更改日期。此示例更改日期和时间:

exiftool -AllDates="2012:03:14 12:25:00" *.jpg
Run Code Online (Sandbox Code Playgroud)

上面的例子只是为图片的日期和时间设置了一个特定的值;如果您只想按某个时间索引(例如向前三年)将它们全部移动,则可以使用:

exiftool -AllDates+="3:0:0 0" *.jpg
Run Code Online (Sandbox Code Playgroud)

如果您的照片突然被标记为 2009 年,即使它们是 2012 年拍摄的,移位功能会非常有用。请确保在等号前使用加号或减号(如-AllDates-=-AllDates+=),具体取决于在分配所需的时间索引时要实现的目标,否则生成的 EXIF 数据将不符合预期。

exiftool在编辑 EXIF 数据之前创建原始备份,在文件名末尾添加原始数据

exiftool支持比jhead仅适用于 JPEG 的更多图像类型。

有关更多信息,请参阅man exiftool


Tom*_*man 22

在 Shotwell 中更改日期和时间很容易。选择要调整的照片,然后转到如下菜单:

Shotwell 菜单

选择照片/调整日期和时间。这带来了这样的菜单:

时间日期调整

如果所有照片的偏移量相同,您可以一次性完成所有照片。如果您使用了多个相机并且它们的偏移量不同,则必须将它们分开并分别进行每批。

Shotwell 的帮助页面对此进行了解释。