[rgb32]

GeneralConvolution

GeneralConvolution(clip, int "bias", string matrix)


matrix: może być macierzą 3x3 lub 5x5 z 9 lub 25 liczbami całkowitymi

bias: jest dodawane do nowych wartości pikseli. To może być przydatne, jeśli wartości pikseli są planowane ujemne do convolution. Przed dodawaniem bias, piksele są dokładnie przycinane do zera (i 255 jeśli są większe niż 255), domyślnie bias przyjmuje wartość 0


Filtr ten wykonuje matrix convolution. (obliczenia na macierzach???)


Przykłady:

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 ")

#

rozmazanie

 

GeneralConvolution(0," 
   1   2   1
   0   0   0
  -1  -2  -1 ")

#

pozioma detekcja krawędzi

 

GeneralConvolution(0,"
   1   0   -1
   2   0   -2
   1   0   -1 ")

#

pionowa detekcja krawędzi

 

GeneralConvolution(0,"
   0   1   0
   0   0   0
   0   0   0 ")

#

przesunięcie (prosty ruch z pozycji "1" na lewo, prawo, w górę i w dół)

 

GeneralConvolution(0,"
   0    128    0 
   0    128    0 
   0      0     0 ")

#

przesunięcie do góry o połowę piksela

 

GeneralConvolution(0,"
   0       0       0 
   0    128    128 
   0       0       0 ")

#

przesunięcie w prawo o połowę piksela

 

GeneralConvolution(0,"
   0   -1    0 
  -1    5   -1 
   0   -1    0 ")

#

wyostrzanie

Kilka przykładów można znaleźć [tutaj]


translated by Slim