Правильная команда для рекурсивного преобразования цветов для всех изображений с помощью ImageMagick - PullRequest
0 голосов
/ 25 июня 2018

Я нашел команду в другом потоке, которая отлично работает для преобразования определенного цвета в прозрачный цвет, который я тестировал в одном каталоге. Однако у меня есть много изображений в разных направлениях, для которых мне нужно это сделать. Структура файла не может измениться, в идеале команда просто заменит текущее изображение на старое. Поскольку команда выполняется сейчас, она создает новый файл в каталоге / batch.

for file in *.png ; do convert "${file}" -transparent '#bbb7b9' "batch/${file}" ; done

Таким образом, две модификации этой команды будут:

1) Команда выполняется рекурсивно

2) Исходное изображение заменяется новым (с тем же именем файла)

Я исследовал и обнаружил, что использование команды find может быть тем, что мне нужно, но я запутался в том, как перевести это из команды for ... Похоже, некоторые варианты -exec могут будь, что мне нужно, но я не нашел ничего, что работает.

Мысли / Идеи

1 Ответ

0 голосов
/ 25 июня 2018

В ImageMagick вы можете использовать команду mogrify для обработки целой папки изображений (без автоматического возврата в подкаталоги).

cd to your image directory
mogrify -format png -transparent '#bbb7b9' *.png


Однако я бы предложиллибо создайте новый каталог для хранения ваших выходных изображений, либо создайте резервную копию вашего входного каталога, чтобы вы не допустили ошибку и перезаписали ваши изображения с плохими копиями.

См. http://www.imagemagick.org/Usage/basics/#mogrify

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...