4 Stimmen

Filter, um die umgekehrten Anti-Aliasing-Effekte umzukehren

Ich habe Bitmaps von Linien und Texten, denen Anti-Alias angewendet wurde. Ich möchte einen Filter entwickeln, der den Anti-Alias-Effekt entfernt. Ich suche nach Ideen, wie ich das machen kann, also muss ich zunächst verstehen, wie Anti-Aliasing-Algorithmen funktionieren. Gibt es gute Links oder sogar Code dafür?

5voto

Martin Liversage Punkte 100306

Ich muss verstehen, wie Antialiasing-Algorithmen funktionieren

Antialiasing funktioniert, indem das Bild mit einer höheren Auflösung gerendert wird, bevor es auf die Ausgabeauflösung verkleinert wird. Im Verkleinerungsprozess werden die Pixel mit höherer Auflösung gemittelt, um Pixel mit geringerer Auflösung zu erstellen. Dadurch entstehen weichere Farbübergänge im gerenderten Bild.

Betrachten Sie dieses sehr einfache Beispiel, bei dem eine Blockkontur auf einem weißen Hintergrund gerendert wird.

Bild mit hoher Auflösung

Anschließend wird es auf die Hälfte der Auflösung verkleinert, wodurch Pixel mit Grautönen entstehen:

Bild mit niedriger Auflösung

Hier ist eine realistischere Demonstration von Antialiasing, die verwendet wird, um den Buchstaben S zu rendern:

Nicht geglättet Geglättet

3voto

Valentin Flachsel Punkte 10695

Ich bin überhaupt nicht vertraut mit der C#-Programmierung, habe aber Erfahrung mit Grafiken. Das nächste, was einem Anti-Anti-Aliasing-Filter nahe kommt, wäre ein Schärfungsfilter (zumindest in der Praxis, mit Photoshop verwendet), der normalerweise mehrmals angewendet wird, je nach gewünschtem Effekt. Der Schärfungsfilter funktioniert am besten, wenn bereits ein großer Kontrast zwischen den Anti-Aliasing-Elementen und dem Hintergrund besteht, und noch besser, wenn der Hintergrund eine einfarbige Fläche ist, anstatt einer komplexen Grafik.

Wenn Sie Zugriff auf einen fortschrittlichen Grafikeditor haben, könnten Sie einige Tests durchführen, und wenn Sie mit den Ergebnissen zufrieden sind, können Sie anfangen, sich mit Schärfungsfiltern zu befassen.

Außerdem, wenn Sie mit Graustufen-Bitmaps arbeiten, ist eine noch bessere Lösung, diese in ein S/W-Bild umzuwandeln - das entfernt jegliches Anti-Aliasing darauf.

Hoffentlich hilft das zumindest ein wenig :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X