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 :

Question sur cvCartToPolar()


Sujet :

OpenCV

  1. #21
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2009
    Messages : 141
    Points : 194
    Points
    194
    Par défaut
    De rien. Ca marche correctement?

  2. #22
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 439
    Points : 533
    Points
    533
    Par défaut
    ben tout ce passe bien me faut juste tester le résultat mais je vois pas trop comment XD

  3. #23
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 98
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par snowpy Voir le message
    Voici ce à quoi je suis arrivé :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
     
    int main()
    {
        //On déclare deux images : celle de base, et celle qui sera étirée  
     
       IplImage *image = cvLoadImage("image_test2.jpg");
     
       IplImage *nvg_img = cvCreateImage(cvGetSize(image),IPL_DEPTH_8U,1);
     
       // IplImage *image    =cvCreateImage(cvGetSize(inputImage),IPL_DEPTH_8U,1);
     
       cvCvtColor (image,nvg_img,CV_BGR2GRAY);
     
       //IplImage *image_nvg = cvCreateImage(cvGetSize(image),CV_32FC1,1);         //image->depth, 1);
     
     
      /* IplImage* gradienthorz  = cvCreateImage(cvGetSize(image),IPL_DEPTH_8U,1); 
     
     
       IplImage* gradientvert  = cvCreateImage(cvGetSize(image),IPL_DEPTH_8U,1);   */
     
     
       CvMat Matimage, *ptMatimage = cvGetMat(nvg_img, &Matimage);
     
       CvMat* mathorz  = cvCreateMat( ptMatimage->rows, ptMatimage->cols, CV_32F ); //MEME CHOSE AVEC MAT 3*3: 000/-101/000 
     
     
       CvMat* matvert  = cvCreateMat( ptMatimage->rows, ptMatimage->cols, CV_32F ); //MEME CHOSE AVEC MAT 3*3: 0-10/000/010
     
     /*
      //|  0  -1 1| gradient Horizontale
        cvSetReal2D(masquehorz, 0,0, 0);
        cvSetReal2D(masquehorz, 0,1,-1);
        cvSetReal2D(masquehorz, 0,2, 1);
     
      //|  0 |		gradient verticale
      //| -1 |
      //|  1 |
        cvSetReal2D(masquevert, 0,0, 0 );
        cvSetReal2D(masquevert, 1,0,-1);
        cvSetReal2D(masquevert, 2,0, 1);
     
    //Correction de l'origine si nécessaire
    	int flip = 0;
        if(image->origin!=IPL_ORIGIN_TL)
    	{
            flip = CV_CVTIMG_FLIP;
        }
     
    //	cvConvertImage(image, image_nvg, flip);
     
    	cvFilter2D( ptMatimage,gradienthorz,masquehorz );
    	cvFilter2D( ptMatimage,gradientvert,masquevert);*/
    	cvSobel(ptMatimage,mathorz,1,0,1);//gradient horizontal
    	cvSobel(ptMatimage,matvert,0,1,1);//gradient vertical
     
        //Etirement d'histogramme
     
     
        CvMat *magnitude=cvCreateMat( ptMatimage->rows, ptMatimage->cols, CV_32F);
     
     
    	CvMat *orientation=cvCreateMat( ptMatimage->rows, ptMatimage->cols, CV_32F);
     
    	cvCartToPolar(mathorz,matvert,magnitude,orientation,0);
     
     
     
     
     
     
        //On affiche le résultat dans une fenêtre
    	cvNamedWindow("originale", CV_WINDOW_AUTOSIZE);
      //  cvNamedWindow("gradientvert", CV_WINDOW_AUTOSIZE);
      //  cvNamedWindow("gradienthorz", CV_WINDOW_AUTOSIZE);
     
    	cvShowImage("originale", image);
       // cvShowImage("gradientvert", gradientvert);
     //   cvShowImage("gradienthorz", gradienthorz);
     
         //On attend que l'utilisateur appuie sur une touche
        cvWaitKey(0);
     
        cvDestroyAllWindows();
        cvReleaseImage(&image);
       cvReleaseImage(&nvg_img);
      //   cvReleaseImage(&gradientvert);
       // cvReleaseImage(&gradienthorz);
     
     
        return 0;
    }
    merci Glen pour le filtre
    Merci bien.

    we mais il contient une erreur DANS LA FONCtion cvsobel puisqu'il n'accepte que le format 8U et 16S donc on doit prendre mathorz sous le format 16S puis avant la fonction cvcartopolar() tu doit le convertir en 32F en utilisant cvconvertscale().


    et sa marche .


    je vous remercie beaucoup pour votre temps. si tu veux je t'envoie les corrections que j'ai fait.

    la solidarité ==>résultat

    Merci.

  4. #24
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 439
    Points : 533
    Points
    533
    Par défaut
    the function can process 32-bit floating-point images
    Cvsobel fonctionne avec du 32
    le code que j'ai posté est testé y'a aucune erreur dans le code en lui même ^^

Discussions similaires

  1. [debutant] Questions sur 1 futur projet
    Par cyrull22 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 28/04/2003, 21h49
  2. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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