2013-04-19 4 views

ответ

4

Команда «convert» ImageMagick может генерировать гистограмму.

$ convert image.png -define histogram:unique-colors=true -format %c histogram:info:- 

19557: ( 0, 0, 0) #000000 gray(0,0,0) 
1727: ( 1, 1, 1) #010101 gray(1,1,1) 
2868: ( 2, 2, 2) #020202 gray(2,2,2) 
2066: ( 3, 3, 3) #030303 gray(3,3,3) 
1525: ( 4, 4, 4) #040404 gray(4,4,4) 
    . 
    . 
    . 

В зависимости от вашего выбора языка и того, как вы хотите представить цвета, вы можете найти здесь много направлений. Вот пример быстрого Ruby:

out = `convert /tmp/lbp_desert1.png \ 
       -define histogram:unique-colors=true \ 
       -format %c histogram:info:- \ 
     | sed -e 's/.*: (//' \ 
     | sed -e 's/).*//'` 

out.split("\n") 
    .map{ |row| row.split(",").map(&:to_i) } 


# => [[0, 0, 0], [1, 1, 1], [2, 2, 2], [3, 3, 3], [4, 4, 4] ..... 
+0

+1 для высказывания «В зависимости от вашего языка выбора». Хорошее отношение. – deltaray

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