Algorithme de Hough Réalisé par : Rehahlia Mohammed lamine Partie Théorique: -L

Algorithme de Hough Réalisé par : Rehahlia Mohammed lamine Partie Théorique: -La transformée de Hough est une technique de reconnaissance de formes inventée en 1962 par Paul Hough, utilisée dans le traitement d'images numériques. L'application la plus simple permet de détecter les lignes présentes dans une image, mais des modifications peuvent être apportées à cette technique pour détecter d'autres formes géométriques : c'est la transformée généralisée de Hough développée par Richard Duda et Peter Hart en 1972. Le problème posé: -Le problème posé est celui de la recherche et de la détection de lignes qui seraient éventuellement présentes dans une image analysée. Le principe qui sous-tend la transformée de Hough est qu'il existe un nombre infini de lignes qui passent par un point, dont la seule différence est l'orientation (l'angle). Le but de la transformée est de déterminer lesquelles de ces lignes sont les plus fréquentes dans l'image analysée. Afin de déterminer que deux points se trouvent sur une même ligne potentielle (attention deux points sont toujours alignés), on doit créer une représentation de la ligne qui permet une comparaison dans ce contexte. -On suppose tout d'abord que si des lignes ou des segments de droites sont présents dans une image, ils feront partie des contours présents dans l'image. On commence donc dans un premier temps par identifier tous les points de contours de cette image, par exemple à l'aide de techniques de mesures de gradients locaux entre les valeurs des pixels autour de chaque point de l'image. Les points de l'image présentant les gradients les plus élevés dans leur voisinage, soit globalement pour l'image (seuillage fixe), soit par rapport aux gradients généralement présents dans un voisinage plus large autour du point (seuillage dynamique), sont les plus susceptibles d'appartenir à des contours de cette image. Chacun des points des contours ainsi identifiés (x, y) va alors permettre une projection dans un plan (le plan transformé) des coordonnées polaires de toutes les droites passant par ce point. Les équations des droites passant en chacun de ces points (x, y) sont représentées par l'équation "normalisée" ρ = x * cos(θ) + y * sin(θ), où θ est l'angle de la droite et ρ la distance de la droite à l'origine (au lieu de y = a *x + b). Au point (x, y) du contour, on fait donc correspondre une courbe [θ, ρ], où θ prend toutes les valeurs possibles de 0 à 2π, ρ prenant la valeur ρ = x * cos(θ) + y * sin(θ). Une fois appliquée à tous les points des contours, et, pour chacun, à tous les angles θ possibles, les points (θ, ρ) de l'espace transformé les plus souvent adressés sont les coordonnées des droites ou des segments de droite les plus représentés dans l'image de départ. En pratique, l'espace transformé de Hough sera représenté par une image, dont les abscisses seront les angles θ, dont les ordonnées les valeurs de ρ, et dont l'intensité au point quelconque (θ, ρ) est le nombre d'occurrences de (θ, ρ) provenant de l'image d'origine. Aucune hypothèse de continuité des droites ou segments de droite de l'image de départ n'est faite ici, ce qui rend la transformée robuste à l'absence de points : masquage partiel des droites, et au bruit dans l'image. Les valeurs de θ peuvent être discrétisées par exemple en degrés (selon la précision souhaitée), et les valeurs de ρ en pixels représentant la distance (toujours inférieure en valeur absolue au diamètre de l'image de départ), la fréquence étant bornée par le nombre de points sélectionnés dans les contours de l'image de départ. -Dans la transformée de Hough, dite aussi transformée standard de Hough ou SHT, chaque ligne est un vecteur de coordonnées paramétriques :  θ : l'angle  ρ : la norme du vecteur (la longueur du segment perpendiculaire à la droite d'angle θ et passant par l'origine) En transformant toutes les lignes possibles qui passent par un point, c’est- à-dire en calculant la valeur de ρ pour chaque θ, on obtient une sinusoïde unique appelée espace de Hough. Si les courbes associées à deux points se coupent, l'endroit où elles se coupent dans l'espace de Hough correspond aux paramètres d'une droite qui relie ces deux points. -Exemple: code matlab: RGB = imread('gantrycrane.png'); % conversation vers image niveau de gri . I = rgb2gray(RGB); % extraction des contours BW = edge(I,'canny'); [H,T,R] = hough(BW,'RhoResolution',0.5,'Theta',- 90:0.5:89.5); % affichage de l'image originale subplot(2,1,1); imshow(RGB); title('Gantrycrane Image'); % affichage de matrice de hough . subplot(2,1,2); imshow(imadjust(mat2gray(H)),'XData',T,'YData',R,... 'InitialMagnification','fit'); title('Hough Transform of Gantrycrane Image'); xlabel('\theta'), ylabel('\rho'); axis on, axis normal, hold on; colormap(hot); Résultat : G a n t r y c r a n e I m a g e H o u g h T r a n s f o r m o f G a n t r y c r a n e I m a g e   - 8 0 - 6 0 - 4 0 - 2 0 0 2 0 4 0 6 0 8 0 - 4 0 0 - 2 0 0 0 2 0 0 4 0 0 Explication de l'algorithme : -détecter le contour en utilisant 'canny ' -designer les points de contour dans l'espace hough et sauvegarder les dans un accumulateur. -interprétation nous prend vers des lignes avec longer infinie . uploads/S4/ algorithme-de-hough-rapport.pdf

  • 29
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Aoû 29, 2021
  • Catégorie Law / Droit
  • Langue French
  • Taille du fichier 0.1293MB