Ich habe ein RGB Bild und möchte die Farben auf eine fest definierte Palette reduzieren, aber so, das möglichst passende Farben gewählt werden. Im Idealfall sollen Farben der Palette in einem begrenzten Rahmen sogar gemischt werden, um näher am Input-Bild zu sein. Hat die Palette z.B. nur Gelb und Blau, aber kein Grün, soll ein grüner Bereich im Startbild mit einem gelb-blauen Raster überlagert werden.
Ist das mit PIL möglich? Gibts dafür fertige Filter? (Hab dazu nichts in der Doku gefunden). Und wenn nicht, hat jemand ein paar Stichworte für einen guten Algorithmus, der das macht?
PIL und Palette-Mode Images
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Bottle: Micro Web Framework + Development Blog
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Da kann man nur bei Graustufen-Bildern eine Palette vor geben.
Ich hab Floyd–Steinberg dithering implementiert, das funktioniert ganz gut. Ist nur langsam, da ich die Pixel-Schieberei in Python und nicht in C machen muss.
Ich hab Floyd–Steinberg dithering implementiert, das funktioniert ganz gut. Ist nur langsam, da ich die Pixel-Schieberei in Python und nicht in C machen muss.
Bottle: Micro Web Framework + Development Blog
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Ja, so klappt es. Das ist nicht gerade intuitiv oder gut dokumentiert, muss ich sagen 
Klar, die PIL Variante ist deutlich schneller als meine Python Variante. Etwa Faktor 10 bei 500x500 pixel großen Bildern.

Klar, die PIL Variante ist deutlich schneller als meine Python Variante. Etwa Faktor 10 bei 500x500 pixel großen Bildern.
Bottle: Micro Web Framework + Development Blog