PANDORE Version 6 GREYC-IMAGE

pconvolution



Convolution d'une image par un noyau.



Synopsis

pconvolution filename [-m mask] [im_in|-] [im_out|-]

Description

L'opérateur pconvolution permet de convoluer l'image initiale im_in par le noyau donné dans le fichier filename. La convolution consiste en l'opération:

im_out[y][x]= Sum_k,l { im_in[y+l][x+k]* mask[l][k] } / norme;

Le résultat est normalisé par la somme des valeurs des coefficients (norme) ou par 1 si la somme est nulle.

Le fichier filename est un fichier texte qui contient plusieurs lignes formées comme suit: La taille du noyau est donné en premier sous la forme: nombre_plan*nombre_ligne*nombre_colonnes, puis les coefficients (flottant ou entiers) sont placés en séquence séparés par un espace. L'ordre est celui des plans, puis lignes puis colonnes.

Soit pour un noyau 3D:

nprof*nlig*ncol
c1 c2 c3 ...

Par exemple, le fichier suivant correspond au noyau d'approximation du Laplacien 2D:

3*3
-1.0 -1.0 -1.0 -1.0 8 -1 -1 -1 -1

L'image de sortie est une image de Float.

Pour les images couleur et multispectrale, l'opérateur est appliqué séparément sur chacune des bandes.

Entrées

Sorties

Résultat

Retourne SUCCESS ou FAILURE.

Exemples

Le noyau suivant peut être utilisé pour appliquer un filtre moyenneur:

   kernel.txt:
   3*3
   1 1 1 1 1 1 1 1 1

   pconvolution kernel.txt tangram.pan a.pan

Voir aussi

Arithmetique

Prototype C++

Errc PConvolution( const Img2duc &im_in1, Img2dsf &im_in2, char* filename );

Auteur: Régis Clouard