Mir fehlen Denkanstöße damit ich weiter forschen kann, Code kann ich nachreichen.
Ich habe ein Projekt, wo ich ein Bild mit einer Palette in einer anderen Farbpalette überführen will.
Dafür gibts eine Reihe von Einschränkungen, die wichtigsten:
- Ziel-Farbpalette besteht aus 64 vordef. Farben(RGB gleichverteilt)
- Zur Einfachung darf ich aus diesen 16 auswählen , theoretisch kann ich zwischen 2 Paletten schalten
- Grafik sieht stark reduziert aus, da selten 16 Farbe nach der Palettenkonvertierung über bleiben
- Dithering erzeugt zwar Rauschen aber die Abstufung der Farben könnten besser sein.
Da wird schon Floyd-Steinberg Dithering verwendet seitens Irfanview.
Dann mit meinen Skript drüberlaufen lassen mit nearest_color nach Rec. 709 (sRGB) luma coef.
Da kommen nie mehr als 10 Farben raus, liegt wohl am Ausgangsmaterial.
Dann Dithering(Floyd-Steinberg), das verrauscht das Bild einigermaßen aber toll sieht das nicht immer aus, gerade wenn sowas wie Nebel vorkommt oder das Bild sehr viele ähnliche Farben verwendet .
Gibt's da noch weitere Möglichkeiten der Qualitätsverbesserung?
Die Frage die mich beschäftigt, wenn ich Dithering vom ursprünglichen Bild nehme, bekomme ich da bessere Ergebnisse?
Wenn die verwendeten Farbwerte nicht weit auseinander liegen, bekomme ich recht wenig Farben, teils nur 5.
Wie reduziere ich die Anzahl der Farben wieder, wenn ich obigen Ansatz verfolge?