Я пытаюсь преобразовать несколько небольших изображений PNG из 32-битного цветного режима в индексированный цветовой режим.
Для цветных изображений я выполнил команду convert IMGS/FLAME.png INDEXED_IMGS/FLAME.png
, и она преобразилась нормально.Для изображения, имеющего только оттенки серого, я выполнил ту же команду (с явно измененным именем файла), но получил предупреждение:
convert: profile 'icc': 'RGB ': RGB color space not permitted on grayscale PNG 'INDEXED_IMGS/SHADOW.png' @ warning/png.c/MagickPNGWarningHandler/1748.
Я запустил file IMGS/*.png
и получил
IMGS/FLAME.png: PNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced
IMGS/SHADOW.png: PNG image data, 8 x 8, 8-bit/color RGBA, non-interlaced
, что ожидается;оба изображения находятся в 8-битном режиме RGBA (так как в этом режиме я создал их в Photoshop).Однако, когда я запускаю file INDEXED_IMGS/*.png
, я получаю
INDEXED_IMGS/FLAME.png: PNG image data, 16 x 16, 4-bit colormap, non-interlaced
INDEXED_IMGS/SHADOW.png: PNG image data, 8 x 8, 8-bit grayscale, non-interlaced
4-битная часть цветовой карты проверяется, а часть оттенков серого - нет.
Так что мой вопросis: как я могу преобразовать изображение в градациях серого в индексированный режим? Что меня действительно привлекает, так это то, что оно запускается в режиме RGBA, как цветное изображение, но по какой-то причине автоматически преобразуется в режим градаций серого.Есть ли способ предотвратить это?
Я должен добавить, что у меня есть скрипт bash, который выглядит так:
#!/bin/bash
for img in IMGS/*.png; do
file=$(basename $img)
convert $img INDEXED_IMGS/$file
done
, поэтому я неЯ не хочу вручную различать оттенки серого и цветные изображения.Если есть способ сделать это автоматически с помощью какой-то команды, это нормально.
Вот информация о моем инструменте ImageMagick:
Version: ImageMagick 7.0.8-42 Q16 x86_64 2019-04-24 https://imagemagick.org
Copyright: © 1999-2019 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP
Delegates (built-in): bzlib freetype heic jng jp2 jpeg lcms ltdl lzma openexr png tiff webp xml zlib