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 :

[opencv][2.4.5][Eclipse CDT] configuration lib


Sujet :

OpenCV

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 20
    Points : 19
    Points
    19
    Par défaut [opencv][2.4.5][Eclipse CDT] configuration lib
    Bonjour,



    je souhaite utiliser opencv2 (je parle bien de la version)

    Je suis sous ubuntu 12.10 avec eclipse cdt et opencv 2.4.5

    j'ai suivi ce tuto : http://docs.opencv.org/doc/tutorials..._eclipse.html#



    mais cela ne concerne que les anciennes bib. le code exemple fonctionne bien.



    ce que je ne trouve pas concerne le paramétrage pour utiliser opencv2

    et en particulier pour compiler ce 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
    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
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
    #include <stdio.h>
    #include <iostream>
     
    #include "opencv2/core/core.hpp"
    #include "opencv2/features2d/features2d.hpp"
    #include "opencv2/highgui/highgui.hpp"
    #include "opencv2/nonfree/nonfree.hpp"
    #include "opencv2/calib3d/calib3d.hpp"
    #include "opencv2/imgproc/imgproc.hpp"
     
    using namespace cv;
     
    void readme();
     
    /** @function main */
    int main( int argc, char** argv )
    {
     if( argc != 3 )
     { readme(); return -1; }
     
    // Load the images
     Mat image1= imread( argv[2] );
     Mat image2= imread( argv[1] );
     Mat gray_image1;
     Mat gray_image2;
     // Convert to Grayscale
     cvtColor( image1, gray_image1, CV_RGB2GRAY );
     cvtColor( image2, gray_image2, CV_RGB2GRAY );
     
    imshow("first image",image2);
     imshow("second image",image1);
     
    if( !gray_image1.data || !gray_image2.data )
     { std::cout<< " --(!) Error reading images " << std::endl; return -1; }
     
    //-- Step 1: Detect the keypoints using SURF Detector
     int minHessian = 400;
     
    SurfFeatureDetector detector( minHessian );
     
    std::vector< KeyPoint > keypoints_object, keypoints_scene;
     
    detector.detect( gray_image1, keypoints_object );
     detector.detect( gray_image2, keypoints_scene );
     
    //-- Step 2: Calculate descriptors (feature vectors)
     SurfDescriptorExtractor extractor;
     
    Mat descriptors_object, descriptors_scene;
     
    extractor.compute( gray_image1, keypoints_object, descriptors_object );
     extractor.compute( gray_image2, keypoints_scene, descriptors_scene );
     
    //-- Step 3: Matching descriptor vectors using FLANN matcher
     FlannBasedMatcher matcher;
     std::vector< DMatch > matches;
     matcher.match( descriptors_object, descriptors_scene, matches );
     
    double max_dist = 0; double min_dist = 100;
     
    //-- Quick calculation of max and min distances between keypoints
     for( int i = 0; i < descriptors_object.rows; i++ )
     { double dist = matches[i].distance;
     if( dist < min_dist ) min_dist = dist;
     if( dist > max_dist ) max_dist = dist;
     }
     
    printf("-- Max dist : %f \n", max_dist );
     printf("-- Min dist : %f \n", min_dist );
     
    //-- Use only "good" matches (i.e. whose distance is less than 3*min_dist )
     std::vector< DMatch > good_matches;
     
    for( int i = 0; i < descriptors_object.rows; i++ )
     { if( matches[i].distance < 3*min_dist )
     { good_matches.push_back( matches[i]); }
     }
     std::vector< Point2f > obj;
     std::vector< Point2f > scene;
     
    for( int i = 0; i < good_matches.size(); i++ )
     {
     //-- Get the keypoints from the good matches
     obj.push_back( keypoints_object[ good_matches[i].queryIdx ].pt );
     scene.push_back( keypoints_scene[ good_matches[i].trainIdx ].pt );
     }
     
    // Find the Homography Matrix
     Mat H = findHomography( obj, scene, CV_RANSAC );
     // Use the Homography Matrix to warp the images
     cv::Mat result;
     warpPerspective(image1,result,H,cv::Size(image1.cols+image2.cols,image1.rows));
     cv::Mat half(result,cv::Rect(0,0,image2.cols,image2.rows));
     image2.copyTo(half);
     imshow( "Result", result );
     
     waitKey(0);
     return 0;
     }
     
    /** @function readme */
     void readme()
     { std::cout << " Usage: Panorama < img1 > < img2 >" << std::endl; }

    Merci de votre expérience sur ce point

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Les étapes sont normalement exactement les mêmes...

    Sinon mets plutôt des < ... > que des " ... " dans ces lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #include "opencv2/core/core.hpp"
    #include "opencv2/features2d/features2d.hpp"
    #include "opencv2/highgui/highgui.hpp"
    #include "opencv2/nonfree/nonfree.hpp"
    #include "opencv2/calib3d/calib3d.hpp"
    #include "opencv2/imgproc/imgproc.hpp"
    Et utilise exclusivement <iostream> / std::cout plutôt que de le mélanger à <stdio.h> / printf du C.

Discussions similaires

  1. [eclipse cdt] utilisation de lib
    Par silenteagle dans le forum Débuter
    Réponses: 11
    Dernier message: 07/11/2011, 16h25
  2. Configuration Eclipse CDT sous Windows XP
    Par padmasana dans le forum Eclipse C & C++
    Réponses: 3
    Dernier message: 10/08/2010, 23h12
  3. configuration GCC/ eclipse (CDT)
    Par lamoincyloj dans le forum Eclipse C & C++
    Réponses: 1
    Dernier message: 24/11/2008, 14h15
  4. Configurer Eclipse CDT sous Windows
    Par mamelouk dans le forum Eclipse C & C++
    Réponses: 0
    Dernier message: 21/11/2007, 17h48
  5. [Eclipse CDT] creer une lib et un executable dans le meme projet ?
    Par mamelouk dans le forum Eclipse C & C++
    Réponses: 4
    Dernier message: 28/11/2006, 15h05

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