Вы можете масштабировать изображение до очень маленького размера, которое имеет размер 1x1 пикселей и представляет «средний цвет» исходного изображения:
convert original.jpeg -resize 1x1 1pixel-original.jpeg
Затем исследуйте цвет этого отдельного пикселя.сначала
convert 1pixel-original.jpeg 1pixel-jpeg.txt
, затем
cat 1pixel-jpeg.txt
# ImageMagick pixel enumeration: 1,1,255,srgb
0,0: (130,113,108) #82716C srgb(130,113,108)
Вы также можете получить тот же результат за один раз:
convert original.jpeg -resize 1x1 txt:-
# ImageMagick pixel enumeration: 1,1,255,srgb
0,0: (130,113,108) #82716C srgb(130,113,108)
Таким образом, вы получите значения для вашего "«средний пиксель» в исходном цветовом пространстве входного изображения, которое вы можете оценить по его «яркости» (как бы вы его ни определяли).
Вы можете преобразовать изображение в оттенки серого и затем изменить его размер.Таким образом, вы получите значение серого как меру «яркости»:
convert original.jpeg -colorspace gray -resize 1x1 txt:-
# ImageMagick pixel enumeration: 1,1,255,gray
0,0: (117,117,117) #757575 gray(117,117,117)
Вы также можете преобразовать ваше изображение в пространство HSB (оттенок, насыщенность, яркость) и сделать то же самое:
convert original.jpeg -colorspace hsb -resize 1x1 txt:-
# ImageMagick pixel enumeration: 1,1,255,hsb
0,0: ( 61, 62,134) #3D3E86 hsb(24.1138%,24.1764%,52.4941%)
Значения «яркости», которые вы видите здесь (134
, #86
или 52.4941%
), вероятно, то, что вы хотите знать.