我正在开发一个 Web 应用程序,目前正在从旧应用程序中迁移一些内容,但我讨厌必须打开图像编辑器才能获取有关正在迁移的图像的一些信息。例如图像尺寸。
有没有命令行我可以使用什么工具在 Linux 中完成这样的任务?
答案1
对于某些图像格式,您只需使用以下file
命令:
$ file MyPNG.png
MyPNG.png: PNG image, 681 x 345, 8-bit/color RGB, non-interlaced
并非所有图像格式都会报告大小(最明显的是 JPEG 不会报告大小):
$ file MyJpeg.jpg
MyJpeg.jpg: JPEG image data, JFIF standard 1.01
对于这些,你必须使用更复杂的东西,例如:
$ convert MyJpeg.jpg -print "Size: %wx%h\n" /dev/null
Size: 380x380
该convert
命令是 ImageMagick 包的一部分。
答案2
获取此信息的最佳方式是使用以下identify
命令:
$ identify image.png
或者仅限尺寸属性
$ identify -format "%wx%h\n" photo.jpg
** 如果你需要图片详情,请尝试以下操作:
$ identify -verbose image.png
identify
是的一部分ImageMagick
,您可以像这样在 Ubuntu 上安装:
$ sudo apt-get install imagemagick
答案3
exiv2 是从图片文件中获取信息的“工具”:
~$exiv2 myimage.jpg
输出:
File name : myimage.jpg
File size : 1196944 Bytes
MIME type : image/jpeg
Image size : 2592 x 1944
Camera make : LG Electronics
Camera model : LG-P970
Image timestamp : 2013:05:19 17:27:06
Image number :
Exposure time : 1/9 s
Aperture :
Exposure bias : 0 EV
Flash : Yes, compulsory
Flash bias :
Focal length : 3.7 mm
Subject distance:
ISO speed : 745
Exposure mode :
Metering mode : Average
Macro mode :
Image quality :
Exif Resolution :
White balance : Auto
Thumbnail : image/jpeg, 13776 Bytes
Copyright :
Exif comment :
答案4
媒体信息将列出图像、音频和视频的详细元数据。它通常位于 Linux 的标准存储库中,也可以通过 OSX 上的 homebrew 获得。
您可以从媒体文件夹中以如下方式运行它:
mediainfo *
或者
mediainfo .
这两个命令将显示当前文件夹和子文件夹中所有媒体文件的信息。
显示从当前文件夹开始的所有 JPG 图像的信息(包括子文件夹):
find . -iname "*.jpg" -exec mediainfo {} \;
对于音频和视频,mediainfo
列出音频/视频流的比特率、编码算法、容器类型、FOURCC 代码,即XVID
、X264
等。
主要发行版的标准存储库中有一个可用的 GUI,通常名为mediainfo-gui
。