|
» AviSynth is a powerful video FrameServer for Win32. AviSynth Links: » You can add pages to this website
immediately. No login required.
|
The divisor is usually the sum of the elements of the matrix. But when the sum is zero, you can leave divisor=1 and use the bias setting to correct the pixel values. The bias could be useful if the pixel values are negative due to the convolution. After adding a bias, the pixels are just clipped to zero (and 255 if they are larger than 255).
Some Examples: # Blur:
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)
# Horizontal (Sobel) edge detection:
GeneralConvolution(0, "
1 2 1
0 0 0
-1 -2 -1 ", 8)
# Vertical (Sobel) Edge Detection:
GeneralConvolution(0, "
1 0 -1
2 0 -2
1 0 -1 ", 8)
# Displacement (simply move the position of the "1" for left, right, up, down)
GeneralConvolution(0, "
0 1 0
0 0 0
0 0 0 ")
# Displacement by half pixel up (auto scaling):
GeneralConvolution(0, "
0 1 0
0 1 0
0 0 0 ")
# Displacement by half pixel to the right (manual scaling):
GeneralConvolution(0, "
0 0 0
0 128 128
0 0 0 ", 256, false)
# Sharpness filter:
GeneralConvolution(0, "
0 -1 0
-1 5 -1
0 -1 0 ", 0, true)
#In the latter example, the the new pixel values y(m,n) are given by
#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
# Slight blur filter with black level clipping and 25% brightening:
GeneralConvolution(-16, "
0 12 0
12 256 12
0 12 0 ", 0.75 ,true)
#In this case, the the new pixel values y(m,n) are given by
#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 effect)
GeneralConvolution(128, "
-1 0 0
0 0 0
0 0 1")
Some example can be found [here]. Changelog:
|