2010-07-27 3 views

Répondre

2

Les méthodes ImageFilter utilisent toutes des noyaux convolus avec une image pour produire les effets de filtre. Here est une bonne amorce sur la convolution du noyau. Si vous chargez le module ImageFilter vous pouvez comprendre les noyaux utilisés pour chaque type d'opération en regardant

>>> help(ImageFilter) 

Par exemple, pour EDGE_ENHANCE_MORE aide donne

filterargs = ((3, 3), 1, 0, (-1, -1, -1, -1, 9, -1, -1, -1, -1))

Cela signifie que le noyau EDGE_ENHANCE_MORE est de taille 3x3, facteur d'échelle 1, offset 0, et se compose de -1 valeurs, sauf pour la valeur centrale, qui est de 9. D'après ce que j'ai lu, il semble que vous pouvez créer un filtre personnalisé (incluant une différence de noyau gaussien) en fournissant les arguments appropriés à un objet noyau:

Kernel(size, kernel, scale=None, offset=0)