1

如何使用 JMagick(imagemagick 的包装器)获取 RGB 值?

4

1 回答 1

2

如果要在命令行上获取特定图像的“红色”值,可以使用以下语法。对于 JMagick API,只需查看如何将其转换为 API 调用:

 identify  -format "%[fx:s.p{111,111}.r]"  input.jpg
   0.427451
  • fx:是 ImageMagick 的特殊效果图像运算符,它允许您从图像中查询各种属性,在数学表达式中使用它们并将它们应用到图像上;

  • s.告诉 ImageMagick 选择序列中的当前图像以应用 fx 操作;

  • p{111,111}.告诉 fx 使用第 111 列第 111 行的像素进行此操作(如果您跳过像素坐标,fx 默认为p{0,0},即左上角的像素;

  • r查询选中像素的红色通道;

  • 0.427451结果是:这意味着它是通道最大值的 42.7451%(8 位为 255,16 位为 65535)。


 identify  -format "%[fx:s.p{111,111}.z]"  input.jpg
   8
  • z查询用于像素的通道深度。结果是 8。

您还可以在将图像转换为 HSL 颜色系统后查询像素的色相、饱和度和亮度值:

identify  -colorspace hsl  -format "%[fx:s.p{111,111}.hue]"  input.jpg 
   0.538012

identify  -colorspace hsl  -format "%[fx:s.p{111,111}.saturation]"  input.jpg 
   0.53271

identify  -colorspace hsl  -format "%[fx:s.p{111,111}.lightness]"  input.jpg 
   0.790196
于 2012-08-20T18:55:02.667 回答