Как я могу конвертировать изображения в ч / б, сохраняя структуру папок?

Я хочу выполнить пакетную обработку изображений, но у меня есть очень специфическая задача, которую я хочу выполнить

  1. Я не хочу менять тип изображения
  2. Я хочу сделать их черно-белыми
  3. Я хочу создать / сохранить изображения и структуру подпапок

Я сделал это в Photoshop, но он не сохранил папки и содержимое подпапок, он просто бросил каждый преобразованный файл в один каталог.

Моя единственная надежда - это Linux:D

Заранее спасибо!

Вы можете увидеть другую дискуссию об этом здесь, но Башарат Сиал работал на меня

http://ubuntuforums.org/showthread.php?t=2143992

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

До:

После:

Чтобы поддерживать структуру каталогов, вы должны будете написать в ней скрипт, как упомянуто Башаратом.

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