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