Fonction Convolution()

Syntaxe

bool Convolution(
int Type,
CImage *ImgDest=0,
int KernelLenght,
int Normalisation,
int *Noyau
);


Paramètres

Type [in]: L'utilisateur peut choisir sur quels canaux il souhaite appliquer le filtre.
RED : Uniquement sur le canal rouge. L'image finale sera une image en niveau de gris
GREEN : Uniquement sur le canal vert. L'image finale sera une image en niveau de gris
BLUE : Uniquement sur le canal bleu. L'image finale sera une image en niveau de gris
GRAY : Uniquement sur le canal gris. L'image finale sera une image en niveau de gris
RGBi : Sur tous les canaux (R,G,B). L'image finale sera une image couleur


*ImgDest[out] : Adresse de l'image qui va recevoir le résultat du traitement. Si cette adresse est égale à NULL, alors c'est l'image source qui est directement modifiée.

KernelLenght[in] : Taille total du noyau de convolution

Normalisation[in] : La valeur final du pixel calculer par le noyau de convolution sera divisé par cette valeur.

*Noyau[in] : Tableau d'entier représentant le noyau de convolution.

Le noyau de convolution doit être impaire et supérieur ou égale à 3 px de largeur.

Exemple d'utilisation

CImage *ImgSrc=0,ImgDest;
int Tab[9]={1,1,1,1,2,1,1,1,1};
ImgSrc=new CImage("./lena.bmp");
ImgSrc->Convolution(GRAY,&ImgDest,9,10,Tab);
[...]
delete ImgSrc;

A voir aussi:

Filtres - Description - Code C
Dithering - Kuwahara - Median - Moyenne - PasseHautv4 - PasseHautv8 - Repoussage