Как я могу конвертировать изображения в ч / б, сохраняя структуру папок?
Я хочу выполнить пакетную обработку изображений, но у меня есть очень специфическая задача, которую я хочу выполнить
- Я не хочу менять тип изображения
- Я хочу сделать их черно-белыми
- Я хочу создать / сохранить изображения и структуру подпапок
Я сделал это в Photoshop, но он не сохранил папки и содержимое подпапок, он просто бросил каждый преобразованный файл в один каталог.
Моя единственная надежда - это Linux:D
Заранее спасибо!
Вы можете увидеть другую дискуссию об этом здесь, но Башарат Сиал работал на меня
2 ответа
Мы можем использовать convert
Команда для преобразования изображений в черно-белое:
convert -colorspace GRAY image.png b-w_image.png
куда image.png
это входное изображение и b-w_image.png
это выходной.
Объединяя эту команду с find
мы можем создать bash one liner для преобразования всех изображений, найденных в родительском каталоге.
Как:
Откройте терминал, нажав Ctrl+Alt+T, cd
в родительский / основной каталог и выполните следующую команду:
for img in $(find . -iname '*.png'); do echo -n "Converting $img"; convert -colorspace GRAY $img $img && echo ' [Done]'; done
Он преобразует и перезаписывает все изображения в родительском каталоге. Я предлагаю протестировать его на некоторых временных изображениях, и если вы удовлетворены результатами, чем запускать его на реальных изображениях.
-monochrome - опция, если вы хотите двоичный черно-белый (1 бит на пиксель).
Это использует некоторое умное дизеринг и производит очень видимый вывод:
convert -monochrome in.png out.png
До:
После:
Чтобы поддерживать структуру каталогов, вы должны будете написать в ней скрипт, как упомянуто Башаратом.