linux - 如何知道 CentOS 上 .ppm 文件的形状
问题描述
我想知道是否有任何命令或工具可以显示图像的大小(如 .ppm),即高度、宽度和通道数。现在我必须通过使用 python 包 PIL 编写一些脚本来做到这一点。但这不是那么方便。有没有更优雅的方式?
非常感谢您的帮助!
解决方案
您可以使用exiftool或ImageMagick,后者的安装要大得多。
使用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
推荐阅读
- json - LoadRunner 中的 Json 响应
- typescript - 类型“DocumentUpload”不可分配给类型“BlobPart”
- javascript - Webpack-4 如何使用多个条目和 SSR 制作独立和有条件的 splitChunks
- mysql - mysql select语句返回两天之间的所有天,包括没有负值的天
- c - C 不能声明有效的 int 指针
- kotlin - 将泛型类型提取到变量中的方法
- java - java - 如何在空格和特殊字符上拆分字符串,同时在java中获取偏移值
- node.js - Intellij 可以与 Visual-Studio-Code 样式的 docker devcontainer 一起使用吗?
- javascript - 根据 JavaScript 中的索引选择字符串
- javascript - 更改正文中所有文本元素的字体大小