转换RGB在ImageMagick的命令行来灰阶(Convert RGB to Grayscale

2019-08-02 13:07发布

如何将RGB图像(3个信道)转换为灰度一个,使用(R + G + B)/ 3的方法? 我期待通过一个实例页: http://www.imagemagick.org/Usage/color_mods/#grayscale但所需的方法:

convert test.png -fx '(r+g+b)/3' gray_fx_average.png

给了我一个错误的结果 - 所得到的图像仍然具有3个通道。

可以通过运行一个命令进行检查: identify -format "%[colorspace] <== %f\n" *.png

Answer 1:

convert <img_in> -set colorspace Gray -separate -average <img_out>给出了对我有什么形象的最佳结果。



Answer 2:

使用(r+g+b)/3的方法将适用的灰度的效果,但是图像将保持在sRGB的( 这是该方法的预期行为 )。 你需要指定所需的色彩空间与一起-fx命令。

convert test.png -fx '(r+g+b)/3' -colorspace Gray gray_fx_average.png

验证与identify -format "%[colorspace] <== %f\n" gray_fx_average.png

Gray <== gray_fx_average.png


Answer 3:

批量转换图片的鱼贝:

for file in *.jpg; convert -colorspace Gray $file $file; end;



文章来源: Convert RGB to Grayscale in ImageMagick command-line