( This site in
english )
GeneralConvolution (clip clip[, int bias, string matrix, float divisor, bool auto])
Dieser Filter f�hrt eine Matrix-Multiplikation (Konvolution, Faltung) durch.
clip | RGB32-Clip |
bias (Standard: 0) | Summand, der die gesamte Ausgabe-Intensit�t beeinflusst |
matrix (Standard: "0 0 0 0 1 0 0 0 0") | kann eine 3x3- oder 5x5-Matrix mit 9 oder 25 Ganzzahlwerten zwischen 0 und 255 sein |
divisor (Standard: 1) | dividiert das Ergebnis der Konvolution (wird vor dem Addieren des bias berechnet) |
auto (Standard: true) | Aktiviert die automatische Skalierung. Diese teilt das Ergebnis durch die Summe der Elemente der Matrix. Dieser Teiler wird zus�tzlich zum divisor angewendet. Ist die Summe der Elemente gleich 0, entf�llt die Auto-Skalierung. |
Beispiele:
# Weichzeichnen:
GeneralConvolution(0, "
10 10 10 10 10
10 10 10 10 10
10 10 10 16 10
10 10 10 10 10
10 10 10 10 10 ", 256, false)
# Horizontaler (Sobel) Kanten-Detektor:
GeneralConvolution(0, "
1 2 1
0 0 0
-1 -2 -1 ", 8)
# Vertikaler (Sobel) Kanten-Detektor:
GeneralConvolution(0, "
1 0 -1
2 0 -2
1 0 -1 ", 8)
# Verschiebung (die Position der "1" in die gew�nschte Richtung festlegen)
GeneralConvolution(0, "
0 1 0
0 0 0
0 0 0 ")
# Verschiebung um 1/2 Pixel nach oben (Auto-Skalierung):
GeneralConvolution(0, "
0 1 0
0 1 0
0 0 0 ")
# Verschiebung um 1/2 Pixel nach oben (manuelle Skalierung):
GeneralConvolution(0, "
0 0 0
0 128 128
0 0 0 ", 256, false)
# Sch�rfe-Filter:
GeneralConvolution(0, "
0 -1 0
-1 5 -1
0 -1 0 ", 0, true)
# Im oben genannten Beispiel werden die neuen Pixelwerte y(m,n) berechnet aus
# y(m,n) = ( -1*x(m-1,n) - 1*x(m,n-1) + 5*x(m,n) - 1*x(m,n+1) - 1*x(m+1,n) )/1.0 + 0
# Leichter Weichzeichner mit Schwarzpegelbegrenzung und 25% Aufhellung
GeneralConvolution(-16, "
0 12 0
12 256 12
0 12 0 ", 0.75 ,true)
# In diesem Fall werden die neuen Pixelwerte y(m,n) berechnet aus
# y(m,n) = ( 12*x(m-1,n) + 12*x(m,n-1) + 256*x(m,n) + 12*x(m,n+1) + 12*x(m+1,n) )/(12+12+256+12+12)/0.75 - 16
# Emboss-Filter (3D-Relief-Effekt)
GeneralConvolution(128, "
-1 0 0
0 0 0
0 0 1")
Einige Beispiele kann man [hier] finden.
Changelog:
v2.55 | divisor und auto hinzugef�gt |
v2 | Urspr�ngliche Ausgabe |