Как узнать форму файла .ppm в CentOS - PullRequest
1 голос
/ 28 мая 2020

Интересно, есть ли какая-нибудь команда или инструмент, который может показать размер изображения (например, .ppm), а именно высоту, ширину и количество каналов. Теперь мне нужно сделать это, написав несколько скриптов с использованием PIL, пакета python. Но это не так удобно. Есть ли более элегантный способ?

Большое спасибо за любую помощь!

1 Ответ

2 голосов
/ 28 мая 2020

Вы можете использовать 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

Вы также можете указать битовую глубину, разрешение по оси x, разрешение по оси y, количество цветов и так далее, отметив доступные Escapes .

Он будет работать и для JPEG, PNG, TIFF, TGA, GIF и 260 других форматов. Если вы все еще используете старую версию v6, команда будет выглядеть так:

identify -format "%f:%w:%h:%[colorspace]\n" *ppm *pgm
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...