IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Traitement d'images Discussion :

Détection des lignes - transformée de Hough


Sujet :

Traitement d'images

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 31
    Points : 23
    Points
    23
    Par défaut Détection des lignes - transformée de Hough
    Bonjour,

    J'essaie de faire une détection de lignes sur une image de contours calculée avant, avec la méthode de la transformée de hough.

    Je travail avec python et la bibliothèque skimage. Je procède en deux temps : mur à gauche et mur à droite.

    Je bloque à la dernière étape : redessiner les droites sur l'image en rouge sur l'image d'origine des contours

    voici mon script :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    import numpy as np
    from skimage import io,color,exposure,transform,draw
    from matplotlib import pyplot as plt
     
    img_contours = io.imread("D:/Contours_IMG_2410.jpg")
    mur_gauche,mur_droite = img_contours.copy(),img_contours.copy()
    mur_gauche[:,2500:] = 1
     
    h_g ,Theta_g, d_g = transform.hough_line(mur_gauche,theta = np.arange(-pi/2,pi/2,((0.5*np.pi)/180)))  #Pas de 0.5 degré 
     
    f,ax = plt.subplots(1,1)
    ax.imshow(mur_gauche, cmap=plt.cm.gray)
    H,angle,dist = transform.hough_line_peaks(h_g ,Theta_g, d_g,num_peaks=8)
    rows,colomns = img_contours.shape
    X = np.arange(0,colomns,1)
    for i in range(len(angle)):
        Y = (dist[i]-np.cos(angle[i])*X)/(np.sin(angle[i]))  #Droite d'équation Y = ( Rho - cos(theta) * X ) / sin(theta)   dans le repère image 
        ax.plot(X,Y,'-r')
    ax.set_xlim((0, colomns))
    ax.set_ylim((rows,0))
    ax.set_title('Detected lines')
    plt.show()

    J'obtiens un mauvais résultat:
    Nom : result.PNG
Affichages : 1061
Taille : 86,8 Ko

    Je ne sais pas pourquoi , je soupçonne un problème de repère ..

    Bien cordialement ,
    Images attachées Images attachées  

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 31
    Points : 23
    Points
    23
    Par défaut
    Résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2013] Msgbox détection doublon sans détection des lignes vides
    Par borisp dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/05/2016, 16h27
  2. [IPP] détection de lignes, transformée de Hough
    Par snoopdre71 dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 02/09/2010, 16h30
  3. [Débutant] détection de ligne:transformé de Hough
    Par angel_tn dans le forum Images
    Réponses: 5
    Dernier message: 17/04/2010, 19h36
  4. Détection des lignes blanche sur la route
    Par jp_developpeur dans le forum Traitement d'images
    Réponses: 3
    Dernier message: 28/01/2009, 11h03
  5. transformée de Hough, détection des lignes
    Par mat79 dans le forum Traitement d'images
    Réponses: 5
    Dernier message: 11/09/2008, 10h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo