如何使用ImageMagick将整个文件夹转换为灰度图像?

3

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

convert *.jpg -colorspace Gray -separate -average

遇到了如下错误:
convert:  `-average' @ error/convert.c/ConvertImageCommand/3290.

这个应该使用什么命令?
2个回答

11
如果你有许多文件需要处理,请使用 mogrify
magick mogrify -colorspace gray *.jpg

如果你有数万张图片和多核CPU,你可以使用GNU Parallel并行处理它们:

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

你真是个高手。非常感谢你。我已经尝试了几个稍微不同的命令版本大约两个小时了。 - Simon Kiely
1
不用谢。如果你再遇到问题,随时回来问,提问(和回答)都是免费的 :-) 祝你的项目好运。 - Mark Setchell
1
谢谢;mogrify -colorspace gray *.jpg(不需要在前面加上 magick - 不知道是什么)可以正常工作。 - Sadi
1
@Sadi,你的命令是旧的v6 ImageMagick语法。我的是更新的v7。 - Mark Setchell

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接