使用图像魔术将整个文件夹转换为灰度?

时间:2018-11-12 13:14:50

标签: image imagemagick imagemagick-convert

我正在尝试使用image magick将整个文件夹转换为灰度。

convert *.jpg -colorspace Gray -separate -average

遇到此错误:

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

正确的命令是什么?

2 个答案:

答案 0 :(得分:3)

如果要处理的文件很多,请使用class File { typedef FileLogContext DefaultLogContext; void open() { LOG("open"); // here, I'd like LOG to create a new local logContext } void complexFunction() { FileLogContext logContext(...); logContext.setup(); LOG("pass1"); // here, I'd like LOG to use my declared logContext pass1(); LOG("pass2"); // same comment as at pass1 pass2(); // other LOG and pass function calls here };

mogrify

如果您有成千上万的图像和多核CPU,则可以使用 GNU Parallel 并行完成它们:

magick mogrify -colorspace gray *.jpg

答案 1 :(得分:0)

此外,还可以在脚本中使用以下内容 - 用于 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