[Traitement d'image numérique] Transformée de Hough

Répertoire des articles de la série

Cette série est principalement constituée de notes d'étude lors de la lecture d'articles. Lorsque vous rencontrez des algorithmes de traitement d'images numériques et des points de connaissance plus classiques, organisez-les et résumez-les, en incluant principalement des principes, des méthodes, des algorithmes, etc. (j'espère pouvoir m'y tenir)

La série d'articles est la suivante :

Pas encore (mise à jour en continu)



introduction

La transformée de Hough est une méthode plus classique pour détecter des formes simples telles que des segments de ligne et des cercles, des ellipses, etc. L'idée de base adoptée est l'idée de vote cumulatif.


1. Le principe de la transformée de Hough

        Il existe deux manières de représenter une ligne droite dans le système de coordonnées cartésien (système de coordonnées cartésien planaire) :

  1. y = kx + b
  2. r = xcosθ + ysinθ

 1.1 y = kx + b

        Ici, la méthode couramment utilisée est la première, et une ligne droite peut être déterminée en connaissant les k0 et b0 déterminés. Cela conduit à l'espace de Hough. Dans l'espace du système de coordonnées cartésien, l'abscisse est x et l'ordonnée est y, tandis que dans le système de coordonnées de l'espace de Hough, l'abscisse est k et l'ordonnée est b. La méthode utilisée pour représenter la ligne droite dans le système de coordonnées de Hough est : b = xk + y.

        Pour une droite connue et déterminée : y = k0x +b0, il existe un point connu (k0, b0) qui lui correspond dans le repère de Hough. De même, s'il existe une ligne droite dans le système de coordonnées de Hough : b = -x0k + y0, il existe un point connu (x0, y0) qui lui correspond dans le système de coordonnées cartésiennes. Faites attention au signe négatif ici car y = kx + b correspond à b = -xk + y dans la correspondance. La relation correspondante correspondante est illustrée dans la figure ci-dessous :

Titre Une droite connue dans le système de coordonnées cartésien correspond à un point dans le système de coordonnées de Hough
Une droite connue dans l'espace du titre Hough correspond à un point dans le système de coordonnées cartésiennes

 

        Ainsi la relation de mappage est obtenue :

  • Une ligne droite connue dans le système de coordonnées cartésiennes correspond à un point dans le système de coordonnées de Hough
  • Une ligne droite connue dans l'espace de Hough cartographie un point dans le système de coordonnées cartésiennes

1.2 r = xcosθ + ysinθ

        Et il existe une existence particulière dans le repère cartésien : x = a (une droite perpendiculaire à l'axe des x, k est infini), dans ce cas il est impossible de trouver un point lui correspondant dans le repère général de Hough , à ce moment les coordonnées Converties en coordonnées polaires (ρ-θ), ρ est la distance verticale de l'origine à la ligne, θ est l'angle entre la ligne verticale de la ligne et l'axe horizontal dans le sens antihoraire, l'angle de la verticale la ligne est 0 et l'angle de la ligne horizontale est de 180 degrés . Dans l'espace de Hough, l'abscisse du système de coordonnées devient θ et l'ordonnée devient ρ.

        La relation de mappage est illustrée dans la figure ci-dessous :

Relation de cartographie mutuelle en coordonnées polaires

 

        Ainsi, la relation de mappage devient :

  • Un point connu dans le système de coordonnées polaires cartésiennes est mappé sur une courbe dans l'espace de Hough
  • Un point connu dans le système de coordonnées polaires de l'espace de Hough est mappé sur une ligne droite dans l'espace cartésien

1.3 Principe d'utilisation

        Objectif : trouver des lignes dans l'espace cartésien

  1. Convertir l'espace cartésien en espace de Hough, convertir les points de l'espace cartésien en lignes droites (courbes) dans l'espace de Hough
  2. De nombreux points sont convertis en lignes droites (courbes) et ces lignes produiront des points d'intersection.
  3. Trouvez le point avec le plus d'intersections dans l'espace de Hough. La valeur de coordonnée de Hough de ce point est le k et b (ρ et θ) de la ligne dans l'espace cartésien.


2. Étapes de mise en œuvre

Supposons qu'il y ait une image de 100x100 pixels, utilisez maintenant la transformation de Hough pour détecter les lignes droites dans l'image :
1. Créez un tableau à deux dimensions et initialisez toutes les valeurs à 0. Les lignes du tableau représentent r et les colonnes représentent θ. Autrement dit, un système de coordonnées polaires dans l'espace de Hough est créé. La taille de la taille du tableau détermine la précision des résultats. Si nous voulons que la précision de l'angle de la ligne droite soit de 1 degré, les colonnes de ce tableau sont définies sur 180 colonnes, chaque colonne est d'un degré, à son tour de 0 degré à 180 degrés. La ligne du tableau représente R. Si nous voulons que la précision de la ligne droite atteigne le niveau du pixel, la valeur maximale de r doit être égale à la distance diagonale de l'image (c'est-à-dire que le coin supérieur gauche de l'image est considéré comme l'origine de l'image, et la distance entre le milieu de l'image et l'origine est r ), donc r est pris de 0 à la valeur de la longueur diagonale de l'image. Ce tableau est aussi appelé l'accumulateur.
2. En parcourant chaque point de l'image d'origine, en calculant chaque r de chaque point de θ entre 0 et 180, si cette valeur a une position correspondante dans l'accumulateur ci-dessus, ajoutez 1 à cette position. Après parcours, de nombreuses courbes dans le système de coordonnées polaires dans l'espace de Hough sont obtenues.
3. Rechercher la valeur maximale dans l'accumulateur ( c'est-à-dire trouver l'intersection de plusieurs courbes dans le système de coordonnées polaires dans l'espace de Hough obtenu en 2 ) et trouver les r et θ correspondant à cette valeur maximale, puis vous pouvez exprimer la ligne droite dans l'image vers le haut.


citation

Références et citations connexes :


  1. notes d'étude opencv (16): transformation de Hough
  2. Chapitre 16 : La transformée de Hough

Je suppose que tu aimes

Origine blog.csdn.net/shisniend/article/details/125809795
conseillé
Classement