Pixel - RGB-Verwendung von PIL
Ist es möglich, die RGB-Farbe des pixels mit PIL?
Ich bin mit diesem code:
im = Image.open("image.gif")
pix = im.load()
print(pix[1,1])
Jedoch, es gibt nur eine Nummer (z.B. 0
oder 1
) und nicht drei zahlen (z.B. 60,60,60
für R,G,B). Ich denke, ich bin nicht zu verstehen, etwas über die Funktion. Ich würde gerne einige Erklärungen.
Vielen Dank.
InformationsquelleAutor GermainZ | 2012-06-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, auf diese Weise:
Der Grund, Sie waren immer ein einzelner Wert vor, mit
pix[1, 1]
ist, weil GIF-Pixel finden Sie in einem der 256 Werte in der GIF-Farbpalette.Siehe auch dieser post SO: Python und PIL pixel unterschiedliche Werte für GIF und JPEG und diese PIL Referenz Seite enthält weitere Informationen über das
convert()
Funktion.Übrigens, dein code funktioniert gut für
.jpg
Bilder.Ein Bild Ist.getpixel() 0-oder 1-basiert? Ich meine, die Obere linke pixel (0,0) oder (1, 1)?
Es ist 0-basiert.
Es funktioniert gut für png-Dateien zu .
InformationsquelleAutor Levon
GIFs speichern von Farben als eine x-Anzahl der möglichen Farben in einer palette. Lesen Sie mehr über die gif begrenzte Farbpalette. So PIL ist, geben Sie die palette index, anstatt die Farb-Informationen der palette Farbe.
Edit: Entfernt link zu einem blog-post Lösung, hatte ein Tippfehler. Andere Antworten tun die gleiche Sache, ohne die typo.
InformationsquelleAutor KobeJohn
Nicht PIL, aber
imageio.imread
könnte noch interessant sein:gibt
so, es ist (Höhe, Breite, Kanäle). So die pixel an der position
(x, y)
istVeraltet
scipy.misc.imread
ist veraltet in SciPy 1.0.0 (danke für die Erinnerung, fbahr!)scipy.misc.imread
ist veraltet!imread
veraltet ist in SciPy 1.0.0 und entfernt werden, 1.2.0. Verwendenimageio.imread
statt.Danke für die Erinnerung, fbahr! (Ich war tatsächlich beteiligt sind, in veralteten it - github.com/scipy/scipy/issues/6242 ? )
InformationsquelleAutor Martin Thoma
Alternative zu image konvertieren erstellen Sie ein RGB-index aus der palette.
InformationsquelleAutor Marcel Wilson