计算图像中区域的平均颜色

时间:2012-05-31 00:15:27

标签: imagemagick

目标是在图像顶部放置一个标题,并将文本颜色设置为与其位于顶部的背景形成对比的颜色。为此,我希望计算以下图像中红色矩形内部区域的平均颜色:

enter image description here

enter image description here

3 个答案:

答案 0 :(得分:13)

扩展Bonzo’s answer。这是一个示例命令

convert Y82IirS.jpg -resize 1x1 txt:

结果

# ImageMagick pixel enumeration: 1,1,255,srgb
0,0: (220,176, 44)  #DCB02C  srgb(220,176,44)

Average colour of an image

答案 1 :(得分:5)

我会裁剪到您感兴趣的区域,然后将其调整为1像素。然后获取该像素的值。

答案 2 :(得分:0)

这是一个处理裁剪和颜色检测的命令,并且还以一致的R,G,B格式生成输出:

pack()

其中, convert image.gif -crop 6x7+8+9 -resize 1x1\! -format "%[fx:int(255*r+.5)],%[fx:int(255*g+.5)],%[fx:int(255*b+.5)]" info:-

6x7+8+9

返回

 6: image width (pixels)
 7: image height (pixels)
 8: x-coordinate of top left corner
 9: y-coordinate of top left corner

改编自https://stackoverflow.com/a/25488429/3124680