Durch die Quantisierung der Farbwerte und durch das Dithering
(insbesondere bei einer Dithermatrix mit )
entstehen Fehler, die man jedoch weitgehend ausgleichen kann,
wobei allerdings Einbußen beim Kontrast hingenommen werden
müssen.
Man unterscheidet:
Idee: (nach Floyd-Steinberg) Der Fehler, der bei der Quantisierung bei einem Pixel entsteht, wird auf einige Nachbarpixel gewichtet verteilt, die noch nicht dargestellt worden sind.
Sei Farb/Grau-Wert eines Pixels des Originalbild und
der quantisierte Wert. Der zu verteilende Fehler berechnet
sich zu:
Wir wollen keine Formeln schreiben, sondern die Fehlerverteilung anhand vom Grafiken veranschaulichen:
Um den Fehler auch am Ende einer Zeile verteilen zu können, läuft man abwechselnd von links nach rechts und dann von rechts nach links.
Eigenschaften:
Idee: (nach Knuth) Kachele das Bild mit einer Diffusionsmatrix und verteile den Fehler bei der Quantisierung des Wertes eines Pixels auf alle Nachbarpixel mit größerem Eintrag in der Diffusionsmatrix.
Beispiele für Diffusionsmatrizen:
Einträge ohne größeren Nachbarn nennt man Barone, solche mit nur einem größeren Nachbarn Fastbarone.
Bei der Diffusion des Fehlers auf die Nachbarn wird eine Gewichtung vorgenommen (siehe hierzu Literatur).
Eine weitere Verbesserung erreicht man durch eine Kantenverstärkung mithilfe folgender Operation:
Eine einfache Konvolutionsmatrix zur Kantenverstärkung mit
ist:
Eigenschaften:
hierbei sind:
mache Farbdiskretisierung und Farbzuordnung mit einem Optimierungsverfahren
(siehe hierzu Bildverarbeitung, Signaltheorie, Optimierungstheorie),
d.h. minimiere