如何将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
。
convert <img_in> -set colorspace Gray -separate -average <img_out>
给出了对我有什么形象的最佳结果。
使用(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
批量转换图片的鱼贝:
for file in *.jpg; convert -colorspace Gray $file $file; end;