在 ImageMagick 命令行中将 RGB 转换为灰度

如何使用(r + g + b)/3方法将 RGB 图像(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来检查这一点。

77615 次浏览

使用 (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

convert <img_in> -set colorspace Gray -separate -average <img_out>给我的任何图像的最佳结果。

批量转换 shell 中的图像:

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

对于灰度图像(我从 PNG 转换) ,我使用这种方法得到了很好的效果:

ls ./*.png | xargs -L1 -I {} convert {} -strip -interlace JPEG -sampling-factor 4:2:0 -gaussian-blur 0.05 -colorspace Gray -quality 20  {}.jpg

我用这个来扫描黑白页面,让它们成为灰度图像(额外的参数清除阴影从以前的页面) :

ls ./*.png | xargs -L1 -I {} convert {} -strip -interlace JPEG -sampling-factor 4:2:0 -gaussian-blur 0.05 -colorspace Gray -quality 20 -density 300 -fill white -fuzz 40% +opaque "#000000" -density 300 {}.jpg

在 Imagemagick 命令行中实现这一点的几种方法是:

convert test.png -grayscale average gray_average.png


or


convert test.png -colorspace OHTA -channel r -separate +channel gray_average.png


or


convert test.png -intensity average -colorspace gray gray_average.png


or


convert test.png -colorspace HSI -channel blue -separate +channel gray_average.png


你看

Https://imagemagick.org/script/command-line-options.php#grayscale Https://imagemagick.org/script/command-line-options.php#intensity Https://imagemagick.org/script/command-line-options.php#colorspace

看来你要走红色通道了 转换 test.png-颜色空间 OHTA-通道 r-analysis + 通道 gray _ average. png 我更喜欢绿色频道(我听说那种方式在电视上很有效,也许是最好的)

我使用 convert主要是为了将文档的彩色图片转换成灰度 pdf 文档来执行 OCR。我最好的结果是使用 Rec709Luminance。所以我建议

convert colourpicture.png -grayscale Rec709Luminance greyscalepicture.png

命令很短,输出很好。

我有一个问题转换一个 SRGB色彩空间到一个 格雷色彩空间。在转换之前,我必须手动删除 阿尔法频道。在其他情况下,图像将保持 sRGB。

convert image_original.tga -alpha off -set colorspace Gray image_converted.tga