Python comment obtenir une liste de couleurs utilisées dans une image
Python comment obtenir une liste de couleurs utilisées dans une image
- Je utiliser PIL, et je veux avoir un dictionnaire des couleurs qui sont utilisées dans cette image, y compris la couleur(la clé) et le nombre de pixel points qu'il utilise.
Comment faire?
OriginalL'auteur user469652 | 2011-01-10
Vous devez vous connecter pour publier un commentaire.
J'ai utilisé quelque chose comme un peu de temps pour analyser des graphiques:
C'est à dire, il y a 8 pixels avec rbg valeur (11, 24, 41), et ainsi de suite.
getcolors
méthode 😉Que ferions-nous si nous avons voulu effectuer une opération (telle que l'impression de "pixel Noir rencontré!") chaque fois que nous avons rencontré un pixel noir? À l'intérieur de la
for pixel
la boucle nous faisons ce que pourrait-on le mettre?OriginalL'auteur unmounted
La getcolors méthode devrait faire l'affaire. Voir les docs.
Modifier: Que le lien est brisé. Oreiller semble être le go-to lib maintenant, fourche de PIL. Nouveaux Docs
Vous avez probablement une palette de l'image-vous pouvez faire de la gi.convert() pour convertir les couleurs par le biais de la palette dans un mode qui vous permet de voir toutes les bandes
Lien vers docs est cassé.
C'est 7 ans depuis que j'ai posté cette réponse, donc guère surprenant. Oreiller semble être le go-to lib maintenant, fourche de PIL. oreiller.readthedocs.io/en/latest/reference/...
OriginalL'auteur Jake
Je tiens à ajouter que l' .getcolors() fonctionne uniquement si l'image est dans un mode RVB d'une certaine sorte.
J'ai eu ce problème où il serait de retour une liste de tuples (comte, couleur) lorsque la couleur est juste un nombre. M'a fallu un certain temps pour le trouver, mais ce fixe.
None
comme un résultat, même siimg.show()
montre l'image avec des couleurs multiples.Nevermind, le
maxcolors
argument sera la cause de la fonction de retourNone
si le nombre de couleurs est supérieure à la valeur par défaut de 256. Je l'ai juste mis pour un arbitrairement grande valeur, étant donné que je ne suis pas inquiet à propos de trop grandes palettes (et je suis de filtrage en valeurs alpha de toute façon).OriginalL'auteur Wouter Mol
Voir https://github.com/fengsp/color-thief-py "Attrape la couleur dominante ou d'un représentant de la palette de couleurs à partir d'une image. Utilise Python et Oreiller"
OriginalL'auteur Eyal Enav