The goal is to lay a caption on top of an image and set the text colour to one that will contrast with the background it is positioned on top of. To that end, I wish to calculat
Expanding on Bonzo’s answer. This is an example command
convert Y82IirS.jpg -resize 1x1 txt:
Result
# ImageMagick pixel enumeration: 1,1,255,srgb
0,0: (220,176, 44) #DCB02C srgb(220,176,44)
Average colour of an image
Here is a command that handles both cropping and color detection, and also produces output in a consistent R,G,B format:
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:-
where, in 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
Returns
176,191,67
Adapted from https://stackoverflow.com/a/25488429/3124680
I would crop to the area you are interested in then resize it to 1 pixel. Then get the value of that pixel.