如何使用JMagick获取RGB值?

时间:2012-07-25 16:03:11

标签: java image imagemagick rgb jmagick

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

1 个答案:

答案 0 :(得分: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颜色系统后,您还可以查询像素的Hue,Saturation和Lightness值:

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