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

OpenCV Discussion :

Détection de cercle partiel


Sujet :

OpenCV

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Par défaut Détection de cercle partiel
    Bonjour,

    Je cherche à détecter un cercle partiel et à en extraire les spécificités (rayon et centre).

    Voici mon image:



    Je cherche à détecter le grand cercle blanc en bas de l'image. J'ai essayer avec cvHoughCircles, mais ça ne donne rien, surement du fait que le cercle ne soit pas visible entièrement. Voici mon code

    Code : 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
    24
     
    IplImage* gray=cvLoadImage("../images/932.jpeg", CV_LOAD_IMAGE_GRAYSCALE);
    IplImage* gray_original=cvLoadImage("../images/932.jpeg", CV_LOAD_IMAGE_GRAYSCALE);
     
    CvMemStorage* storage = cvCreateMemStorage(0);
     
     
    cvSmooth( gray, gray, CV_GAUSSIAN, 9, 9 ); // smooth it, otherwise a lot of false circles may be detected
    CvSeq* circles = cvHoughCircles( gray, storage, CV_HOUGH_GRADIENT, 2, gray->height/4, 20000, 200);
     
    int i;
    cout<<"nombre de cercles trouvés : "<< circles->total<<endl;
    system("pause");
    for( i = 0; i < circles->total; i++ )
    {
    	cout<<"nombre de cercles trouvés : "<< circles->total<<endl;
    	system("pause");
             float* p = (float*)cvGetSeqElem( circles, i );
             cvCircle( gray, cvPoint(cvRound(p[0]),cvRound(p[1])), 3, CV_RGB(0,255,0), -1, 8, 0 );
             cvCircle( gray, cvPoint(cvRound(p[0]),cvRound(p[1])), cvRound(p[2]), CV_RGB(255,0,0), 3, 8, 0 );
    }
     
    cvNamedWindow( "circles", 1 );
    cvShowImage( "circles", gray );
    Avez vous une autre idée de traitement, à partir duquel je pourrais retrouvé les paramètres du cercle?

    Merci d'avance pour toute idée.
    Images attachées Images attachées  

  2. #2
    Membre confirmé Avatar de ludo86
    Homme Profil pro
    Développement applications iOS/android
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développement applications iOS/android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Par défaut
    Salut,

    Je regardais la date à laquelle tu as posé ta question et voulais savoir si tu avais réussi à détecter tes cercles partiels?

    En effet, je voudrais aussi utiliser l'algorithme de Hough sur un cercle d'une image binarisée.

  3. #3
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 220
    Par défaut
    Ceci devrait répondre à ta question :

    http://cgi.cse.unsw.edu.au/~cs4411/w...nt_of_an_image

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Par défaut
    Salut,

    Je regardais la date à laquelle tu as posé ta question et voulais savoir si tu avais réussi à détecter tes cercles partiels?

    En effet, je voudrais aussi utiliser l'algorithme de Hough sur un cercle d'une image binarisée.
    Je n'ai pas réussi à obtenir de résultats satisfaisant sur cette image non :-(

Discussions similaires

  1. Détection de cercle d'une image binarisée
    Par EmilieGh dans le forum OpenCV
    Réponses: 1
    Dernier message: 24/02/2011, 19h16
  2. Réponses: 6
    Dernier message: 24/02/2011, 17h21
  3. Détection de cercle par la transformée de hough
    Par roulian46 dans le forum Interfaces Graphiques en Java
    Réponses: 0
    Dernier message: 23/12/2010, 11h20
  4. Détection de cercles dans une image
    Par abs2008 dans le forum Images
    Réponses: 6
    Dernier message: 29/05/2008, 13h47
  5. Détection de cercles
    Par goformat dans le forum Images
    Réponses: 4
    Dernier message: 13/03/2007, 19h18

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