Weichzeichenalgorithmus
-
Hallo,
Meine Suche nach der Beschreibung des Algorithmus' des Gaußschen Weichzeichners, bin ich bisher erfolglos gewesen. Deshalb frage ich mal hier: Kennt ihr den Algorithmus?
Ich habe nur gelesen, das der ausgewählte Pixel den Farb-Mittelwert seiner Umliegenden Pixel bekommt. Genau das habe ich umgesetzt und es sieht sch**** aus. In GIMP siehts allerdings ganz anders aus.
Kann mir daher jemand den genauen Algorithmus beschreiben?
-
http://de.wikipedia.org/wiki/Weichzeichnen#Gau.C3.9Fscher_Weichzeichner
Wenn das nicht reicht, nochmal fragen.
-
Der Trick ist, dass zum einen weiter entfernte Pixel ebenfalls in die Mittelung einbezogen werden und dass zum anderen die Pixel aber umso stärkeres Gewicht haben, je näher sie am Mittelpunkt sind -- sonst würde alles zu stark verwischen.
http://de.wikipedia.org/wiki/Weichzeichnen: Da findest Du zum Beispiel eine 5x5-Gauß-Matrix für die Mittelung.
-
hmok, Danke.
Also sollte ich bei jedem Pixel eine Matrix erstellen, die Matrix nach der Normalverteilung( Glockenkurve? ) einteilen und dann irgendwie daraus nen Durchschnitt berechnen?
Na das kann ja lustig werden oOIch werd mich mal dran versuchen
-
Ich meine irgendwo mal gelesen zu haben, dass man jede Dimension einzeln betrachten kann. Also anstelle einer 5*5 Matrix kann man erst alle Pixel mit einer 5*1 Matrix bearbeiten und danach alle pixel mit einer 1*5 Matrix.
-
hmok. Ich muss also eine Glockenkurve über den ausgewählten Bereich "drüberlegen" ...
Wenn ich also folgende Abstände für die Pixel nehme:`+---+---+---+---+---+
| 4 | 3 | 2 | 3 | 4 |
+---+---+---+---+---+
| 3 | 2 | 1 | 2 | 3 |
+---+---+---+---+---+
| 2 | 1 | 0 | 1 | 2 |
+---+---+---+---+---+
| 3 | 2 | 1 | 2 | 3 |
+---+---+---+---+---+
| 4 | 3 | 2 | 3 | 4 |
+---+---+---+---+---+`
Die Mitte, also "0", wäre dabei das ausgewählte Pixel, für das die Farbe neu berechnet werden soll. Leg ich nun eine Glockenkurve á la
100 * e(-x2 * 0.5)^
drüber, hab ich für die "Bereiche" folgende Werte:
0 = 100
1 = 60,65
2 = 13,53
3 = 1,11
4 = 0,03Die könnte ich als Protzentwerte für die Farbwerte der Pixelbereiche verwenden.
Somit zeichne ich dann Gruppe 0 mit voller Sichtbarkeit. Gruppe 1 mit 60% Sichtbarkeit drüber, Gruppe 2 mit ~14% drüber, usw. ...Ist meine Denkweise richtig?
Was die Mathethemen angeht, bin ich nicht ganz so auf der Höhe oO
-
Wichtig ist, dass wenn du alle Faktoren addierst 1 rauskommt. Dann würde ich die richtigen abstände der Pixel nehmen.