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 CDithering - Kuwahara - Median - Moyenne - PasseHautv4 - PasseHautv8 - Repoussage