Как заставить Imagemagick отображать цветовое пространство как Некалиброванное / Неизвестное / Необъявленное, когда оно не объявлено?

Я использую identify команда ImageMagick для извлечения exif фотографии. ImageMagick, в отличие от exiftool, возвращает sRGB когда цветовое пространство не было объявлено. Как я могу заставить ImageMagick вернуться Uncalibrated или же Unknown или же Undeclared когда это так?

1 ответ

Решение

Фред прав. Вам нужно будет использовать некоторые дополнительные утилиты (например, awk) в дополнение к некоторым -format [EXIF:*] Магик.

identify -format '%[EXIF:Col*ce]\n' input_file.tif | \
   awk '{ if (length($0)) { print $0; exit } else { print "Uncalibrated" }}'

Это работает, вызывая запрос (*) символ, который будет пытаться вернуть список совпадений клавиш. Если ключ EXIF:Colorspace установлено, awk распечатает его, иначе "Uncalibrated" будет возвращен.

Другой вариант identify -debug Coder input_file.tif который выгрузит все точки данных, извлеченные ImageMagick из формата изображения. Но это может быть излишним.

Другие вопросы по тегам