Quel serait le processus simple permettant d'obtenir un tableau des couleurs contenues dans une image ?
Réponse
Trop de publicités?La commande "convert" d'ImageMagick peut générer un histogramme.
$ 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)
.
.
.
En fonction de la langue de votre choix et de la façon dont vous souhaitez que les couleurs soient représentées, vous pouvez prendre de nombreuses directions à partir de là. Voici cependant un exemple rapide en 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] .....