Home
RecentChanges

Search:

» AviSynth is a powerful video FrameServer for Win32.

AviSynth Links:
»Download
»Learn to script
»FAQ
»Manual
»Discussion fora
»Project page
»External filters
»FeedBack

» You can add pages to this website immediately. No login required.
Edit this document

» AboutAviSynth

 

Avisynth 
Logo

GeneralConvolution Deutsch

( This site in flag-uk.gif 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

SourceForge Logo

 


Edit this document | View document history
Document last modified Wed, 25 Aug 2004 09:30:24