如何在保留文件夹结构的情况下批量将图像转换为黑白图像

如何在保留文件夹结构的情况下批量将图像转换为黑白图像

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

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

我在 Photoshop 中执行了此操作,但它没有保留文件夹和子文件夹内容,只是将每个转换后的文件扔到一个目录中。

我唯一的希望是 Linux :D

先感谢您!

您可以在此处看到关于此问题的不同讨论,但 Basharat Sial 对我有用

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

答案1

我们可以使用convert命令将图像转换为黑白:

convert -colorspace GRAY image.png b-w_image.png

其中image.png是输入图像,b-w_image.png是输出图像。

结合此命令,find我们可以创建一个 bash 单行程序来转换在父目录下找到的所有图像。

如何:
Ctrl通过点击+ Alt+ 打开终端Tcd到父/主目录并运行以下命令:

for img in $(find . -iname '*.png'); do echo -n "Converting $img"; convert -colorspace GRAY $img $img && echo ' [Done]'; done

它将转换并覆盖父目录下的所有图像。我建议先在一些临时图像上进行测试,如果结果满意,再在实际图像上运行它。

答案2

-单色如果你想的话二进制黑白(每像素 1 位)。

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

convert -monochrome in.png out.png

在此处输入图片描述

后:

在此处输入图片描述

为了维护目录结构,您必须将其编写为Basharat 提及

相关内容