使用 imagemagick 将整个文件夹转换为灰度?

Convert entire folder to greyscale using image magick?

我正在尝试使用图像魔术将整个文件夹转换为灰度。

convert *.jpg -colorspace Gray -separate -average

遇到此错误:

convert:  `-average' @ error/convert.c/ConvertImageCommand/3290.

正确的命令是什么?

如果您有很多文件要处理,请使用 mogrify:

magick mogrify -colorspace gray *.jpg

如果你有数以万计的图像和一个多核CPU,你可以用GNU Parallel并行完成它们:

parallel -X magick mogrify -colorspace gray ::: *.jpg

此外,以下内容可用于脚本 - 文件管理器(如 Dolphin、Nautilus、Nemo、Thunar 等)的上下文菜单:

for filename in "${@}"; do
    name="${filename%.*}"
    ext="${filename##*.}"
    cp "$filename" "$name"-grayscale."$ext"
    mogrify -colorspace gray "$name"-grayscale."$ext"
    rm "$name"-grayscale."$ext"~
done