如何使用JMagick(imagemagick的包装器)获取RGB值?
答案 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