如何获取图像平均颜色的RGB值,其中每个值为0-255?例如" 255,255,255"
我运行此命令缩小图像并返回' rgba'使用Alpha通道的值,有时它会给出文本颜色名称:
convert cat.png -resize 1x1\! -format "%[pixel:u]\n" info:
输出:
rgba(155,51,127,0.266087)
答案 0 :(得分:16)
我的回答有两个方面:
convert
看到的颜色。.txt
支持的特殊convert
格式。此文本格式枚举图像的所有像素,首先给出其坐标($row,$column:
),然后给出不同格式的RGB或CMYK值。这是一个涵盖两个方面的命令:
convert cat.png -resize 1x1 out.txt
cat out.txt
要直接在终端窗口中获取输出,您可以使用:
convert cat.png -resize 1x1 txt:-
示例输出:
convert p4.png -resize 1x1 txt:-
# ImageMagick pixel enumeration: 1,1,255,srgb
0,0: (189,185,184) #BDB9B8 srgb(189,185,184)
答案 1 :(得分:7)
您可以执行以下操作以仅解析逗号分隔的RGB值。它也不会返回文本颜色名称。
convert cat.png -resize 1x1\! \
-format "%[fx:int(255*r+.5)],%[fx:int(255*g+.5)],%[fx:int(255*b+.5)]" info:-
输出格式应如下所示:
155,51,127
这应该适用于ImageMagick 6.3.9.1 +