原标题:如何在Linux上查看图像元数据
图像元数据是一系列关于图像的信息。元数据要么被嵌入到了图像中,要么别存储在一个单独的文件中。总共有三种类型的元数据,它们是:
技术性元数据
描述性元数据
管理性元数据
就如名字所体现的一样,技术性元数据通常包含一个图像的技术性信息,比如相机参数,DPI,快门速度,文件尺寸,图像格式,图像生成日期,生成图像所用的软件等细节。技术性元数据通常由相机设备自动生成。
描述性元数据是摄像者手动添加的数据。所有者可以使用外部软件比如GIMP或者Photoshop来手动地添加它。它包括照片标题、位置、摄像者的名字和评论等信息。描述性数据对于搜索照片非常有用。
管理性数据包含所有这的身份信息和联系信息,许可证,版权和照片的使用规范等。
添加元数据到图像中对于防止内容盗窃、滥用和最终相片的使用是非常重要的。然而,元数据也可以很容易地被剥离掉。希望你能够理解关于图像元数据类型的这些基本知识。
现在,让我们继续前进来看一下如何在Linux命令行中查看图像的信息。
有许多方法可以实现在Linux上查看一个图像的元数据。这里,我给出了三个命令行工具来查看此类信息。
ImageMagic有一个命令行工具叫做Identify可以用于获取图像元数据。ImageMagic在大多数Linux发行版的默认软件仓库中都可以获取到。
在Arch Linux及其衍生发行版上,运行下面的命令来安装ImageMagic:
$ 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 http://www.imagemagick.org
如果你只想要基础信息,只需要移除-verbose选项。
更多使用方法可以在man page中找到:
$ man identify
我们也可以使用file 命令,它被用于确定文件类型,同时也可以查看一个图像的元数据。
file命令没有选项来像identify那样提供更细节的信息。它只能打印出基本的元数据信息。
阅读man page来更多地了解file命令:
$ man file
Exif是一个用于显示和改变一个图像的EXIF数据的命令行工具。也许有人想知道Exif是什么,它实际上是每当你使用智能手机或者相机拍摄照片时就会在你的存储中产生的一个JPEG文件。EXIF数据包括日期、相机设置、地理位置、许可证、版权等inxi。Exif在 Debian及其衍生发行版比如Ubuntu的默认仓库中可以获取。
$ sudo apt install exif
要使用exif查看图像元数据,运行:
$ exif image.jpg
Exif将会以一个制表格式产生漂亮的输出。
EXIF tags in 'image.jpg' ('Motorola' byte order):
--------------------+----------------------------------------------------------
Tag |Value
--------------------+----------------------------------------------------------
Image Deion |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 page。
$ man exif
希望这对你有帮助。
本文译自:How To View Image Metadata On Linux
译者:EmuLab
原文遵循:[CC BY-NC协议]返回搜狐,查看更多
责任编辑: