2012-07-25 30 views

回答

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%(255对8位,65535为16位)


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