Est-il possible d'obtenir la couleur RVB d'un pixel en utilisant PIL? J'utilise ce code:
im = Image.open("image.gif")
pix = im.load()
print(pix[1,1])
Cependant, il ne produit qu'un nombre (par exemple 0
ou 1
) et non trois chiffres (par exemple 60,60,60
pour R, V, B). Je suppose que je ne comprends rien à la fonction. J'adorerais une explication.
Merci beaucoup.
Les GIF stockent les couleurs comme l'un des x nombre de couleurs possibles dans une palette. Lisez à propos de la palette de couleurs limitée gif . Ainsi, PIL vous donne l'index de la palette, plutôt que les informations de couleur de cette couleur de palette.
Modifier: lien supprimé vers une solution de publication de blog qui contenait une faute de frappe. D'autres réponses font la même chose sans la faute de frappe.
la source
Une alternative à la conversion de l'image consiste à créer un index RVB à partir de la palette.
la source
Pas PIL, mais ça
imageio.imread
pourrait quand même être intéressant:donne
il en est ainsi (hauteur, largeur, canaux). Ainsi, le pixel en position
(x, y)
estDépassé
scipy.misc.imread
est obsolète dans SciPy 1.0.0 (merci pour le rappel, fbahr !)la source
scipy.misc.imread
est obsolète!imread
est obsolète dans SciPy 1.0.0 et sera supprimé dans 1.2.0. Utilisezimageio.imread
plutôt.Avec numpy:
Donner le vecteur RVB du pixel en position (0,0)
la source