Es ist nicht gerade ein schicker Algorithmus, sondern eine einfache Verzerrung. Wie @Erwald darauf hinweist, bewegt es iterativ Pixel zur Mitte des Pinsels hin.
Also, wenn wir dies implementieren wollten, würden wir ein Verzerrungsfeld benötigen, um Ausgangspixel auf Eingangspixelpositionen abzubilden, von denen aus abgetastet werden kann.
so, für jeden Ausgang (x, y) -Koordinate, definiert die resultierende Farbe:
c‘= Probe (f ([x, y]))
wo Probe ein lineares dauert oder anderweitig Interpolationswert aus dem Eingangsbild an der angegebenen Koordinate (die fraktionierte sein kann))
die Eigenschaften Sie suchen sind:
Pixel in Richtung der Mitte des ou tput wird von Pixeln weiter von außen gezogen
Rotationssymmetrie (das Bild nach innen gezogen)
Die Wirkung soll (außerhalb eines bestimmten Radius mit der Entfernung abfällt, ist die Eingabestelle die gleiche wie die Ausgabestelle)
der Effekt reibungslos am Rand auslaufen sollte, aber nicht unendlich weit
in der Mitte haben, sollten keine Seite von der anderen Seite des Filters Probe (es nicht zu viel zerquetschen kann in das Zentrum oder es wird herauskommen alle seltsam)
Die genaue Gleichung wird dem Leser eine Übung links :)
Sie würden nicht zu besiegen captcahs für böse Zwecke versuchen, würden Sie? –