2016-04-21 13 views
1

Wenn ich ein Objekt in Inkscape Unschärfe durch die 10% sagen wir mal, es ist bekommen ein Filter mit einer feGaussionBlur mit einem StdDeviation von 10% * Größe/2.
jedoch das Filter eine Größe hat von 124% (es ist wirklich so groß, fügt Inkscape nicht ein bisschen hinzu, nur um auf der sicheren Seite zu sein).svg feGaussianBlur: Korrelation zwischen StdDeviation und Größe

Woher kommt diese Nummer? Meine Vermutung wäre 100% + 2.4 * (2*stdDeviation/size), aber woher kommt dann diese 2.4?

Antwort

1

Von the SVG 1.1 spec:

Dieser Filter primitive führt eine Gaußsche Unschärfe auf dem Eingangsbild. Die Gaussian blur kernel ist eine Annäherung der normalisierten Faltung:
G (x, y) = H (x) I (y) wo H (x) = exp (-X2/(2S2))/sqrt (2 * pi s2) und I (y) = exp (-Y 2/(2T2))/sqrt (2 * pi t2)

mit 's' ist die Standardabweichung in der x-Richtung und ' t 'ist die Standardabweichung in y-Richtung, wie von' stdDeviation 'angegeben.

Der Wert von 'stdDeviation' kann entweder eine oder zwei Zahlen sein. Wenn zwei Zahlen angegeben sind, repräsentiert die erste Zahl einen Standardabweichungswert entlang der X-Achse des aktuellen Koordinatensystems und der zweite Wert repräsentiert eine Standardabweichung in Y. Wenn eine Zahl bereitgestellt wird, wird dieser Wert sowohl für X als auch für X verwendet Y.

Auch wenn nur ein Wert für 'stdDeviation' zur Verfügung steht, kann dies als separable Faltung implementiert werden.

Für größere Werte von 's' (s> = 2.0) kann eine Approximation verwendet werden: Drei aufeinanderfolgende Box-Blurers bilden einen stückweisen quadratischen Faltungskern, der den Gaußschen Kern auf etwa 3% annähert.

let d = Etage (n * 3 * sqrt (2 * PI)/4 + 0,5)

... wenn d ungerade ist, drei schachtel Unschärfen der Größe 'd' verwenden, auf die zentrierte Ausgabepixel. ... wenn d gerade ist, zwei Box-Unschärfen der Größe 'd' (der erste auf der Pixelgrenze zwischen dem Ausgangspixel und der eine links, der zweite auf der Pixelgrenze zwischen dem Ausgangspixel zentriert) und die eine auf der rechten Seite) und eine Box-Unschärfe der Größe "d + 1" zentriert auf dem Ausgangspixel.

Note: the approximation formula also applies correspondingly to 't'.* 
+0

Also 2,4 ist eine Annäherung für 3 * sqrt (2 * pi)/4 + 0,5 ÷ 2,37997, richtig? – Mat2095

+0

Ja das ist das Mathe –