本简要指南解释了什么是图像元数据、元数据类型以及如何在 Linux 操作系统中查找和查看图像元数据。
什么是图像元数据?
图像元数据 是一组关于图像的信息。 元数据要么嵌入图像本身,要么存储在单独的文件中。
元数据分为三种类型,即;
- 技术元数据,
- 描述性元数据,
- 管理元数据。
1. 技术元数据
顾名思义, 技术元数据 通常包括图像的技术信息。
技术元数据包含相机详细信息、DPI、快门速度、文件大小、图像格式、捕获或创建图像的日期和时间、用于创建图像的软件以及其他一些细节。
技术元数据主要由相机设备自动生成。
2. 描述性元数据
这 描述性元数据 由摄影师手动添加。 所有者(或摄影师)可以使用任何外部软件(例如 GIMP 或 Photoshop)手动添加。
它包括照片的标题、位置、摄影师姓名和评论等信息。描述性元数据对于轻松快速地搜索照片非常有用。
3. 管理元数据
这 管理元数据 包含图像的所有者、许可、版权和使用条款的标识和联系方式。
向图像添加元数据对于防止内容盗窃、滥用和跟踪图像的使用非常重要。 但是,元数据很容易被剥离。 希望您了解有关图像元数据及其类型的基本概念。
现在让我们继续看看如何在 Linux 上通过命令行查找有关图像的信息。
在 Linux 上查看图像元数据
有许多工具可以在 Linux 上查找映像的元数据。 在这里,我给出了三个命令行工具来查看这些细节。
1. 使用 ImageMagick
ImageMagick 有一个名为的命令行工具 “确认” 查找图像元数据。 ImageMagick 在大多数 Linux 发行版的默认存储库中都可用。
在 Arch Linux 及其变体上,运行以下命令来安装 ImageMagick:
$ sudo pacman -S imagemagick
在 Debian、Ubuntu、Linux Mint 上:
$ sudo apt install imagemagick
在 Fedora:
$ sudo dnf install imagemagick
在 SUSE/openSUSE 上:
$ sudo zypper install ImageMagick
现在让我们找到图像元数据。 为此,只需运行:
$ identify -verbose image.png
此命令将列出给定图像元数据的详细输出。
Image: image.png Format: PNG (Portable Network Graphics) Mime type: image/png Class: DirectClass Geometry: 1366x768+0+0 Units: Undefined Type: TrueColor Endianess: Undefined Colorspace: sRGB Depth: 8-bit Channel depth: red: 8-bit green: 8-bit blue: 8-bit Channel statistics: Pixels: 1049088 Red: min: 0 (0) max: 255 (1) mean: 158.62 (0.62204) standard deviation: 36.8176 (0.144383) kurtosis: -0.256842 skewness: -0.00384146 entropy: 0.897097 Green: min: 0 (0) max: 255 (1) mean: 39.1664 (0.153594) standard deviation: 30.5192 (0.119683) kurtosis: 26.7374 skewness: 4.16992 entropy: 0.773393 Blue: min: 0 (0) max: 255 (1) mean: 48.4269 (0.189909) standard deviation: 27.7343 (0.108762) kurtosis: 33.5882 skewness: 4.85108 entropy: 0.741411 Image statistics: Overall: min: 0 (0) max: 255 (1) mean: 82.0712 (0.321848) standard deviation: 31.9173 (0.125166) kurtosis: 35.6513 skewness: 6.83895 entropy: 0.803967 Rendering intent: Perceptual Gamma: 0.454545 Chromaticity: red primary: (0.64,0.33) green primary: (0.3,0.6) blue primary: (0.15,0.06) white point: (0.3127,0.329) Background color: white Border color: srgb(223,223,223) Matte color: grey74 Transparent color: black Interlace: None Intensity: Undefined Compose: Over Page geometry: 1366x768+0+0 Dispose: Undefined Iterations: 0 Compression: Zip Orientation: Undefined Properties: date:create: 2019-08-26T19:25:54+06:00 date:modify: 2019-08-09T13:49:32+05:00 png:IHDR.bit-depth-orig: 8 png:IHDR.bit_depth: 8 png:IHDR.color-type-orig: 2 png:IHDR.color_type: 2 (Truecolor) png:IHDR.interlace_method: 0 (Not interlaced) png:IHDR.width,height: 1366, 768 png:sRGB: intent=0 (Perceptual Intent) signature: 6e35d79e6896e49e6256eadeec46b4f6a4951b13e309a9c89d9235ce51a3b541 Artifacts: filename: image.png verbose: true Tainted: False Filesize: 379KB Number pixels: 1.049M Pixels per second: 26.23MB User time: 0.040u Elapsed time: 0:01.039 Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 https://www.imagemagick.org
如果您只想要基本细节,例如只需删除 -verbose 选项。
$ identify image.png image.png PNG 1366x768 1366x768+0+0 8-bit sRGB 379KB 0.000u 0:00.000
可以在手册页中找到更多详细信息:
$ man identify
2.使用 文件 命令
我们可以用 文件命令,用于确定文件类型,查看图像的元数据。
$ file image.png image.png: PNG image data, 1366 x 768, 8-bit/color RGB, non-interlaced
文件命令没有提供详细输出的选项,如“识别”命令。 它只打印基本元数据。
阅读手册页以了解有关文件命令的更多信息:
$ man file
3.使用 Exif 工具
Exif 是用于显示和更改的命令行实用程序 EXIF 图像的数据。
对于那些想知道的人,EXIF(代表可交换图像文件格式)通常是一个 JPEG 文件,每当您使用智能手机或相机拍照时,都会写入您的存储设备中。
EXIF 数据包括照片的日期和时间、相机设置、地理位置、许可证和版权信息等详细信息。它在 Debian 及其衍生产品(如 Ubuntu)的默认存储库中可用。
$ sudo apt install exif
要使用 exif 查看图像元数据,只需运行:
$ exif image.jpg
Exif 将以表格列格式生成一个不错的输出,如下所示。
EXIF tags in 'image.jpg' ('Motorola' byte order): --------------------+---------------------------------------------------------- Tag |Value --------------------+---------------------------------------------------------- Image Description |Lady Evelyn Falls/Chutes Lady Evelyn, Northwest Territorie Artist |J. A. Kraulis Copyright |J. A. Kraulis/Masterfile (Photographer) - [None] (Editor) XP Title |Lady Evelyn Falls/Chutes Lady Evelyn, Northwest Territorie XP Author |J. A. Kraulis Padding |2060 bytes undefined data X-Resolution |72 Y-Resolution |72 Resolution Unit |Inch Padding |2060 bytes undefined data Exif Version |Exif Version 2.1 FlashPixVersion |FlashPix Version 1.0 Color Space |Internal error (unknown value 65535) --------------------+----------------------------------------------------------
Exif 不仅读取元数据,还将 EXIF 写入图像。 有关更多详细信息,请查看手册页:
$ man exif
建议阅读:
- 使用 MediaInfo 在 Linux 上显示媒体文件信息
- 如何在 Linux 中从图像创建蒙太奇
结论
在本指南中,我们了解了什么是图像元数据及其类型。 我们还讨论了如何使用 ImageMagick 在 Linux 中查找图像的元数据, file
命令和 Exif 工具。