首页 > 解决方案 > 如何知道 CentOS 上 .ppm 文件的形状

问题描述

我想知道是否有任何命令或工具可以显示图像的大小(如 .ppm),即高度、宽度和通道数。现在我必须通过使用 python 包 PIL 编写一些脚本来做到这一点。但这不是那么方便。有没有更优雅的方式?

非常感谢您的帮助!

标签: linuximagefile

解决方案


您可以使用exiftoolImageMagick,后者的安装要大得多。

使用exiftool

exiftool -p '${filename}:${ImageWidth}:${ImageHeight}' -q -f *ppm

样本输出

P3.ppm:100:100
P6.ppm:100:100
extracted-000.ppm:544:149
extracted-001.ppm:185:116
extracted-002.ppm:185:116
extracted-003.ppm:265:609
result.ppm:64:64
savedP3.ppm:64:64
savedP6.ppm:64:64

我意识到这并没有显示频道的数量,但也许添加${MIMEType}到列表的末尾就足够了,你会得到image/x-portable-graymap或者image/x-portable-pixmap可能足以满足你的需要。


ImageMagick包含在大多数 Linux 发行版中,可用于 macOS 和 Windows 。就在终端:

magick identify -format "%f:%w:%h:%[colorspace]\n" *ppm *pgm

样本输出

P3.ppm:100:100:sRGB
P6.ppm:100:100:sRGB
extracted-000.ppm:544:149:sRGB
extracted-001.ppm:185:116:sRGB
extracted-002.ppm:185:116:sRGB
extracted-003.ppm:265:609:sRGB
result.ppm:64:64:sRGB
savedP3.ppm:64:64:sRGB
savedP6.ppm:64:64:sRGB
a.pgm:33:16:Gray

您还可以通过检查可用的Escapes来包括位深度、x 分辨率、y 分辨率、颜色数等。

它也适用于 JPEG、PNG、TIFF、TGA、GIF 和 260 种其他格式。如果仍然使用旧的 v6 版本,命令变为:

identify -format "%f:%w:%h:%[colorspace]\n" *ppm *pgm

推荐阅读