PANDORE Version 6 GREYC-IMAGE

pcontastthresholding



Multi-seuillage de l'image par analyse du contraste aux frontières.



Synopsis

pcontrastthresholding nbclass [-m mask] [im_in|-] [im_amp|-] [im_out|-]

Description

L'opérateur pcontrastthresholding permet de multiseuiller l'image initiale im_in par une méthode basée sur l'analyse de l'histogramme des amplitudes de gradient le long des frontières données dans im_amp.

Cet opérateur est basé sur l'algorithme de Kohler:
soit x et y deux pixels voisins de niveau de gris i et j. Un contour entre x et y est détecté par un seuil s si et seulement si:

   i<=s<=j ou j<=s<=i.

L'ensemble de contours détectés par s est:

    K(s)={ paires(x,y) / x et y voisins et i<=s<=j ou j<=s<=i }

Le contraste total des contours détectés par s est donné par:

   C(s) = sum(min(abs(s-i),abs(s-j))

la somme étant faite sur tous les éléments (x,y) de K(s).
Le contraste moyen est:

   Cm(s) = C(s) / card(K(s))

Les seuils sont pris comme les maxima de la fonction histogramme. Seuls sont conservés les nbclass-1 plus grands maxima.

L'image de sortie im_out est contruite avec les seuils détectés, telle que:

im_out[y][x]=seuil[k] si seuil[k-1]<im_out[y][x]<=seuil[k].

Le dernier seuil est égal à la valeur maximale 255.

Paramètres

Entrées

Sorties

Résultat

Retourne le nombre de classes de sortie.

Exemples

Segmente l'image tangram:

   pgradient 1 tangram.pan a.pan b.pan
   pnonmaximasuppression a.pan b.pan c.pan
   pthresholding 10 1e30 c.pan d.pan
   pcontrastthresholding 2 tangram.pan d.pan out.pan

Voir aussi

Seuillage

Prototype C++

Errc PContrastThresholding( const Img2duc &im_in1, Img2duc &im_in2, Img2duc &im_out, int nbclass );

Référence

R. Kohler, "A segmentation system based on thresholding", CGIP, No. 15, pp 319-338, 1981.


Auteur: Régis Clouard