Es ist wahrscheinlich am besten, die Python-Bildbibliothek zu verwenden, um dies zu tun. Ich fürchte, es handelt sich um einen separaten Download.
Der einfachste Weg, das zu tun, was Sie wollen, ist die load () -Methode für das Image-Objekt, die ein Pixelzugriffsobjekt zurückgibt, das Sie wie ein Array bearbeiten können:
from PIL import Image
im = Image.open('dead_parrot.jpg') # Can be many different formats.
pix = im.load()
print im.size # Get the width and hight of the image for iterating over
print pix[x,y] # Get the RGBA Value of the a pixel of an image
pix[x,y] = value # Set the RGBA Value of the image (tuple)
im.save('alive_parrot.png') # Save the modified pixels as .png
Alternativ können Sie sich ImageDraw ansehen, das eine viel umfangreichere API zum Erstellen von Bildern bietet.
pip
was ziemlich einfach war.easy_install --find-links http://www.pythonware.com/products/pil/ Imaging
pip install pillow
Installiert PIL erfolgreich und relativ schnell (möglicherweise erforderlich,sudo
wenn nicht in einer virtuellen Umgebung).Mit Pillow (das sowohl mit Python 3.X als auch mit Python 2.7+ funktioniert) können Sie Folgendes tun:
Jetzt haben Sie alle Pixelwerte. Wenn es sich um RGB handelt oder ein anderer Modus von gelesen werden kann
im.mode
. Dann können Sie Pixel erhalten(x, y)
durch:Alternativ können Sie Numpy verwenden und das Array neu gestalten:
Eine vollständige, einfach zu verwendende Lösung ist
quelle
PyPNG - leichter PNG-Decoder / Encoder
Obwohl die Frage auf JPG hinweist, hoffe ich, dass meine Antwort für einige Leute nützlich sein wird.
So lesen und schreiben Sie PNG-Pixel mit dem PyPNG-Modul :
PyPNG ist ein einzelnes reines Python-Modul mit einer Länge von weniger als 4000 Zeilen, einschließlich Tests und Kommentaren.
PIL ist eine umfassendere Bildbibliothek, aber auch wesentlich schwerer.
quelle
Wie Dave Webb sagte:
quelle
quelle
Bildbearbeitung ist ein komplexes Thema, und es ist am besten , wenn Sie tun eine Bibliothek verwenden. Ich kann gdmodule empfehlen, das einen einfachen Zugriff auf viele verschiedene Bildformate aus Python heraus bietet.
quelle
Auf wiki.wxpython.org gibt es einen wirklich guten Artikel mit dem Titel Arbeiten mit Bildern . Der Artikel erwähnt die Möglichkeit der Verwendung von wxWidgets (wxImage), PIL oder PythonMagick. Persönlich habe ich PIL und wxWidgets verwendet und beide machen die Bildmanipulation ziemlich einfach.
quelle
Sie können das Surfarray -Modul von pygame verwenden. Dieses Modul verfügt über eine 3D-Pixelarray-Rückgabemethode namens pixels3d (Oberfläche). Ich habe die Verwendung unten gezeigt:
Ich hoffe hilfreich gewesen. Letztes Wort: Der Bildschirm ist für die Lebensdauer von screenpix gesperrt.
quelle
Installieren Sie PIL mit dem Befehl "sudo apt-get install python-images" und führen Sie das folgende Programm aus. Es werden RGB-Werte des Bildes gedruckt. Wenn das Bild groß ist, leiten Sie die Ausgabe mit '>' in eine Datei um. Öffnen Sie die Datei später, um die RGB-Werte anzuzeigen
quelle
Sie können das Tkinter-Modul verwenden, das die Standard-Python-Schnittstelle zum Tk-GUI-Toolkit darstellt, und Sie benötigen keinen zusätzlichen Download. Siehe https://docs.python.org/2/library/tkinter.html .
(Für Python 3 wird Tkinter in tkinter umbenannt.)
So stellen Sie RGB-Werte ein:
Und RGB bekommen:
quelle
quelle
quelle
Wenn Sie drei Ziffern in Form eines RGB-Farbcodes haben möchten, sollte der folgende Code genau das tun.
Dies kann für Sie funktionieren.
quelle