2014-12-08 7 views
1

Мне было интересно, что было бы самым простым способом получить среднее, режим и медианную от гистограммы изображения. Меня особенно интересует значение. Чтобы уточнить, я ищу что-то вроде:Есть ли способ распечатать статистику гистограмм изображения в терминале?

гистограмме статистики image.jpg

и вывода, как это:

Mean:128 
Median: 120 
Mode: 90 
+0

Хотите это для цвета или полутоновых изображений? –

ответ

2

Да, используйте identify команду ImageMagick в:

identify -verbose image1.png 
Image: image1.png 
    Format: PNG (Portable Network Graphics) 
    Mime type: image/png 
    Class: DirectClass 
    Geometry: 150x150+0+0 
    Units: Undefined 
    Type: PaletteAlpha 
    Endianess: Undefined 
    Colorspace: sRGB 
    Depth: 8-bit 
    Channel depth: 
    red: 8-bit 
    green: 8-bit 
    blue: 8-bit 
    alpha: 8-bit 
    Channel statistics: 
    Pixels: 22500 
    Red: 
     min: 0 (0) 
     max: 255 (1) 
     mean: 83.8114 (0.328672) 
     standard deviation: 103.634 (0.406408) 
     kurtosis: -1.14294 
     skewness: 0.82261 
    Green: 
     min: 0 (0) 
     max: 255 (1) 
     mean: 87.1483 (0.341758) 
     standard deviation: 84.6068 (0.331791) 
     kurtosis: -1.04099 
     skewness: 0.547178 
    Blue: 
     min: 0 (0) 
     max: 255 (1) 
     mean: 68.5556 (0.268846) 
     standard deviation: 75.6456 (0.29665) 
     kurtosis: -0.809854 
     skewness: 0.696317 
    Alpha: 
     min: 0 (0) 
     max: 255 (1) 
     mean: 160.584 (0.629743) 
     standard deviation: 122.279 (0.479526) 
     kurtosis: -1.69938 
     skewness: 0.537413 
    Image statistics: 
    Overall: 
     min: 0 (0) 
     max: 255 (1) 
     mean: 83.4827 (0.327383) 
     standard deviation: 98.1998 (0.385097) 
     kurtosis: -1.04514 
     skewness: 0.753059 
    Alpha: none #00000000 
    Colors: 87 
    Histogram: 
     8120: ( 0, 0, 0, 0) #00000000 none 
     6180: (27, 71,148,255) #1B4794 srgba(27,71,148,1) 
     109: (41, 78,140,255) #294E8C srgba(41,78,140,1) 
     71: (41, 81,140,255) #29518C srgba(41,81,140,1) 
... 
... 

Режим отсутствует, если вы не используете гистог баран, но вы могли бы вычислить его достаточно легко с помощью awk если вы преобразовать изображение цифр ASCII, как это, используя формат NetPBM «s PPM (see here):

convert image1.png -compress none ppm:- | awk ... 
+0

Спасибо! Я объединил ваш метод с этим: http://stackoverflow.com/a/4495357/3084276 Я закончил использовать: convert image1.png -compress none ppm: - | tr '' '\ n' | sort | uniq -c | sort -nr | головка -10 – antifriz

Смежные вопросы