在命令行中删除图像的所有元数据

5

我用命令行工具exiftool -all= 删除了一张图片的元数据。然而,当我打印结果图片的元数据时,得到了以下信息:

$ exiftool myimage.jpg
ExifTool Version Number         : 11.30
File Name                       : myimage.jpg
Directory                       : out
File Size                       : 2.8 MB
File Modification Date/Time     : 2019:05:16 03:34:02-07:00
File Access Date/Time           : 2019:05:16 03:34:02-07:00
File Inode Change Date/Time     : 2019:05:16 03:34:02-07:00
File Permissions                : rw-r--r--
File Type                       : JPEG
File Type Extension             : jpg
MIME Type                       : image/jpeg
DCT Encode Version              : 100
APP14 Flags 0                   : [14]
APP14 Flags 1                   : (none)
Color Transform                 : YCbCr
Image Width                     : 3729
Image Height                    : 2246
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:4:4 (1 1)
Image Size                      : 3729x2246
Megapixels                      : 8.4

我想了解几件事:

  1. 在某个层次上是否需要所有这些(尽管很少的)元数据。也就是说,我想知道是否可以更加简化和真正删除所有元数据
  2. 如果无法删除所有剩余的元数据,我想知道是否可以至少删除前三个属性(ExifTool版本号、文件名和目录)。

如果有可能,想知道用哪个工具(最好是命令行工具)可以完成这项操作。

1个回答

7
几乎所有剩余的数据都不是嵌入文件的元数据。它们是图像或底层操作系统的属性。甚至在ExifTool版本号的情况下,也是您正在运行的exiftool的版本。'-g'和 '-G'选项可以显示每个标签来自哪个组;特别是,0和1组家族可以用于查看来自ExifTool和文件属性以及嵌入在图像文件本身中的标签。
权限、文件名、目录和时间戳等项目直接从底层操作系统获取。这些是驱动器上每个文件的属性。没有它们,文件本身不存在。
文件/Mime类型条目是exiftool创建时确定文件类型时创建的文件属性。
除了APP14条目外,其余都是有关图像本身的数据。它是如何编码的,编码块的格式,图像的大小等。
这个图像中唯一嵌入的是APP14块。该块不包含任何可以识别图像来源的数据。但是有可能删除它会显著改变图像的颜色(参见this post)。可以通过在命令中添加-Adobe:All=来删除它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接