将过滤后的图像输出到新文件夹并重命名

output filtered images to new folder and rename them

我想像这样使用终端向文件夹内的所有 jpg 图像添加一些过滤器:

convert *.jpg -colorspace Gray -sharpen 0x4.0 {}.jpg

除了一个问题,上面的代码行工作正常:

文件夹中的所有图像都带有递增的数字,例如:1.jpg2.jpg

我希望新过滤的图像转到当前文件夹内的一个单独的文件夹并重命名它们,如 1-filtered.jpg2-filtered.jpg

我们该怎么做?

在 ImageMagick 中,您可以按如下方式进行。假设您的图像位于目录 test1 中,并且您希望它们位于 test1 中名为 test2 的现有目录中。因此,您将目录更改为 test1 和 运行:

convert *.jpg -set filename:f "%t" -sharpen 0x4 "test2/%[filename:f]-filtered.jpg"

test2 必须已经存在。 ImageMagick 不会创建新目录。

"%t" 获取不带后缀的名称并将其放入变量f。