如何在保留文件夹结构的同时批量转换图像为黑白

我想批量处理图像,但我有一个非常具体的任务,我想做

  1. 我不想改变图像类型
  2. 我想让它们变成黑色和白色
  3. 我希望它创建/保留图像和子文件夹结构

我在Photoshop中做到了这一点,但它没有保留文件夹和子文件夹内容,只是将每个转换后的文件都放在一个目录中。

我唯一的希望是Linux:D

先感谢您!

你可以在这里看到不同的讨论,但Basharat Sial为我工作

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

我们可以使用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 

它将转换并覆盖父目录下的所有图像。 我建议在一些临时图像上测试它,如果你对结果感到满意,那么就在实际图像上运行它。

如果您想要二进制黑白 (每像素1位),则可以选择单色

它使用一些智能抖动并生成非常明显的输出:

 convert -monochrome in.png out.png 

之前 :

在此处输入图像描述

后:

在此处输入图像描述

要维护目录结构,您必须按照Basharat的说明编写脚本。