Hallo.
Ich habe folgendes vor: Für ein einfaches Spiel im Rahmen Jugend forscht möchte ich aus einem Bild, das ich per Webcam aufnehme, ein Pixelraster von ca. 20x40 Pixeln erzeugen. Die Pixel sollen dabei möglichst nur 6 Farben haben.
Mit image.resize() und PIL.Image.ANTIALIAS müsste die Reduktion ja schon mal funktionieren. Wie kann ich aber die resultierenden Pixel auf 6 Farben reduzieren und das Bild so als Kopie abspeichern bzw. im weiteren Programm zugreizbar machen.
Danke für Eure Hilfe. Bin leider noch nichts so fit in Python...
Mit PIL Bild auf wenige Pixel und Farben reduzieren
Du musst die resultierenden Pixelfarben in die nächstliegenden deiner Palette konvertieren. Ein erster und simpler Ansatz könnte der euklidische Abstand sein. Ggf besser ist sowas wie https://python-colormath.readthedocs.io ... lta_e.html
- __blackjack__
- User
- Beiträge: 13199
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Bei `Image.quantize()` kann man angeben wie viele Farben die Palette haben soll, oder eine Palette angeben die verwendet werden soll.
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis