如何使用命令行读取和删除照片中的元数据(exif)?

如何使用命令行读取和删除照片中的元数据(exif)?

刚刚查了一下。我想在这里分享一下,以供将来参考。

答案1

安装 exiftool:

sudo apt-get install libimage-exiftool-perl

读取照片元数据:

exiftool /tmp/my_photo.jpg

要删除照片元数据:

exiftool -all= /tmp/my_photo.jpg

前:

ExifTool Version Number         : 8.60
File Name                       : my_photo.jpg
Directory                       : /tmp
File Size                       : 3.0 MB
File Modification Date/Time     : 2013:02:24 12:08:10-08:00
File Permissions                : rw-rw-r--
File Type                       : JPEG
MIME Type                       : image/jpeg
Exif Byte Order                 : Big-endian (Motorola, MM)
Orientation                     : Unknown (0)
Y Cb Cr Positioning             : Centered
X Resolution                    : 72
Y Resolution                    : 72
Resolution Unit                 : inches
Modify Date                     : 2013:02:24 11:25:27
Make                            : Samsung
Camera Model Name               : Galaxy Nexus
Exif Version                    : 0220
Flashpix Version                : 
Color Space                     : sRGB
Components Configuration        : Y, Cb, Cr, -
Compressed Bits Per Pixel       : 0
Exif Image Width                : 1944
Exif Image Height               : 2592
Date/Time Original              : 2013:02:24 11:25:27
Create Date                     : 2013:02:24 11:25:27
Exposure Time                   : 1/354
F Number                        : 2.8
Exposure Program                : Aperture-priority AE
ISO                             : 50, 0, 0
Shutter Speed Value             : 1/353
Aperture Value                  : 2.6
Brightness Value                : 0
Exposure Compensation           : 0
Max Aperture Value              : 2.6
Subject Distance                : 0 m
Metering Mode                   : Multi-spot
Light Source                    : Daylight
Flash                           : No Flash
Focal Length                    : 3.4 mm
Flash Energy                    : 0
Exposure Index                  : undef
Sensing Method                  : One-chip color area
Scene Type                      : Directly photographed
Custom Rendered                 : Custom
Exposure Mode                   : Auto
White Balance                   : Auto
Digital Zoom Ratio              : 1
Scene Capture Type              : Standard
Contrast                        : Normal
Saturation                      : Normal
Sharpness                       : Normal
Subject Distance Range          : Unknown
Image Unique ID                 : OAEL01
GPS Time Stamp                  : 19:25:27
GPS Date Stamp                  : 2013:02:24
Compression                     : JPEG (old-style)
Thumbnail Offset                : 2143
Thumbnail Length                : 10941
Image Width                     : 1944
Image Height                    : 2592
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
Aperture                        : 2.8
GPS Date/Time                   : 2013:02:24 19:25:27Z
Image Size                      : 1944x2592
Shutter Speed                   : 1/354
Thumbnail Image                 : (Binary data 10941 bytes, use -b option to extract)
Focal Length                    : 3.4 mm
Light Value                     : 12.4

后:

ExifTool Version Number         : 8.60
File Name                       : my_photo.jpg
Directory                       : /tmp
File Size                       : 2.9 MB
File Modification Date/Time     : 2013:02:24 12:21:39-08:00
File Permissions                : rw-rw-r--
File Type                       : JPEG
MIME Type                       : image/jpeg
Image Width                     : 1944
Image Height                    : 2592
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
Image Size                      : 1944x2592

参考:

答案2

图像魔术师

代替扩展工具, 处理Exif 元数据(还有 IPTC、XMP 和 ICC 图像元数据)我发现图像魔术师(使用 安装sudo apt install imagemagick)更有用,命令也更容易记住。

自 IMv7 起 magick identify/mogrify/...它被用来[1]

读书

identify -verbose image.jpg | grep exif

去除

安装软件包后imagemagick你可以这样做(不仅适用于 JPEG):

mogrify -strip *.jpg  # Optionally: -verbose

手动的

-strip删除图像中的任何配置文件、评论或这些 PNG 块:bKGD、cHRM、EXIF、gAMA、iCCP、iTXt、sRGB、tEXt、zCCP、zTXt、日期。

由于您将丢失方向元数据,也许您mogrify -auto-orient image.jpg首先想要这样做。

AFAIK与 exiftool 唯一的区别是它mogrify不会删除以下元数据:

这可能很有用。相比diff -y <(exiftool wMogrify.jpg) <(exiftool wExiftool.jpg)

删除 EXIF 数据与匿名化不同-strip将重新压缩图像这可能是一件好事:拍摄照片(或其他照片)的软件可能会将敏感信息(可能已加密)隐藏在普通图像数据中(隐写术)。我不确定重新压缩是否总是会删除所有内容(可能不会)。要避免这种重新压缩,您可以使用jpg

jpegtran -copy none image.jpg > newimage.jpg

此外,避免丢失颜色配置文件ICC 元数据,从而带来更丰富的色彩[需要引用]):

convert image.jpg profile.icm && convert image.jpg -strip -profile profile.icm newimage.jpg

您可能会问自己,这些成本是否引人注目或相关就你的情况而言。

另一个关于图像隐写术的工具是斯特吉德

其他工具和说明

也可以看看

答案3

要删除然后更改单个字段,我们可以使用此命令:

exiftool -Copyright= IMG_3357.jpg
exiftool -Copyright=LinuxSlaves IMG_3357.jpg

参考

答案4

有很多工具可以实现这一点,其他人已经列出来了。我在我的系统上发现的另一个工具是exiv2

安装:sudo apt-get install exiv2
查看:exiv2 myimage.jpg
删除:exiv2 rm myimage.jpg

其他选项列在手册页

相关内容