我想批量处理图像,但我有一个非常具体的任务要做
- 我不想更改图像类型
- 我想把它们变成黑白的
- 我希望它创建/保存图像和子文件夹结构
我在 Photoshop 中执行了此操作,但它没有保留文件夹和子文件夹内容,只是将每个转换后的文件扔到一个目录中。
我唯一的希望是 Linux :D
先感谢您!
您可以在此处看到关于此问题的不同讨论,但 Basharat Sial 对我有用
答案1
我们可以使用convert
命令将图像转换为黑白:
convert -colorspace GRAY image.png b-w_image.png
其中image.png
是输入图像,b-w_image.png
是输出图像。
结合此命令,find
我们可以创建一个 bash 单行程序来转换在父目录下找到的所有图像。
如何:
Ctrl通过点击+ Alt+ 打开终端T,cd
到父/主目录并运行以下命令:
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 提及。