Fonctions > Traitement d'image > Extraction de caractéristiques > Enveloppe convexe
  
Enveloppe convexe
cnvxhull(M, fg) : renvoie une matrice contenant l'enveloppe convexe de pixels de valeur fg dans la matrice M.
L'enveloppe convexe permet de caractériser la forme d'une image en déterminant les pixels qui sont adjacents aux autres de la même intensité. Cette méthode est utile pour repérer les trous et les caractéristiques convexes d'une image.
La fonction renvoie une matrice d'image binaire contenant l'enveloppe convexe de M, avec les pixels de premier plan fixés à 1 et ceux d'arrière-plan à 0.
La sortie est binarisée, avec des valeurs 1 à l'intérieur de l'enveloppe convexe et 0 à l'extérieur. L'enveloppe est définie en choisissant P1 comme point le plus en haut à gauche du jeu de pixels dans M et L1 comme ligne horizontale passant par P1. Ensuite, elle fait pivoter L1 autour de P1 jusqu'à ce qu'il atteigne la valeur fg dans le jeu de pixels. En appelant la ligne pivotée L2 et en laissant P2 être le point le plus éloigné de P1 sur L2, l'algorithme se répète alors, jusqu'à ce que Pn = P1. L'union de {P1, P2, ... , Pn-1} est constituée des sommets de l'enveloppe convexe.
L'algorithme utilisé est décrit dans Digital Picture Processing par A. Rosenfeld et A. C. Kak, page 269, 1982.
Arguments
M est la matrice d'images.
fg est l'intensité des pixels de premier plan.