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 :

Stéréovision avec OpenCV ?


Sujet :

OpenCV

  1. #1
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 58
    Points : 51
    Points
    51
    Par défaut Stéréovision avec OpenCV ?
    Bonsoir à tous,



    Est-ce qu'il y a un code simple avec openCv pour faire la stéréo-vision entre deux images?




    Merci d'avance

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    786
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 786
    Points : 602
    Points
    602
    Par défaut
    Bonjour, tu as des fonction toute faite,une avec la méthode locale:

    cvStereoBM();

    ou une optimisation globale

    cvStereoGC, beaucoup plus lent.

    Tu peux trouver des exemples sur le site.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 58
    Points : 51
    Points
    51
    Par défaut
    Merci



    j'ai utilisé les 2 fichiers stereo_calib.cpp et stereo_match.cpp qui se trouve sous le répertoire \OpenCV2.4.2\opencv\samples\cpp avec les images fournis dans le même repertoire,

    la fonction stereo_match.cpp utilise la fonction stereoBM,

    cet exemple donne une bonne carte de disparité par contre la carte de profondeur, qui est enregistrée sous format point cloud .xyz, est très pauvre.


    y a t'il une solution?

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    786
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 786
    Points : 602
    Points
    602
    Par défaut
    Salut, il me semble que la carte de profondeur est estimé à partir de la carte de disparité et des paramètre de la caméra (focal + baseline) donc si ta carte de disparité est bonne ça doit être tes paramètres qui sont mauvais.

    Tu peux poste ta carte de disparité?

    Bon courage.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Salut,

    Je met permet de poster dans ce post car je pense avoir un problème très similaire.

    J'ai une jolie carte de disparité mais la carte de profondeur que je rend avec scilab et le fichier de points rendu par l'exemple "stereo_match.cpp" est extrêmement pauvre.
    Sur les PJ vous pouvez voir ma carte de disparité (qui m'est très satisfaisante pour ce que j'ai à faire) et mon rendu de points cloud.
    Voici les appels aux fonctions que je fais après avoir préparé le terrain comme il se doit (images rectifiées ...):
    bm(img1, img2, disp, CV_32F);
    disp.convertTo(disp8, CV_8U);
    imwrite(disparity_filename, disp);
    ==> donne depthmap.jpg
    reprojectImageTo3D(disp8, xyz, Q, true);

    bm(img1, img2, disp);
    imwrite(disparity_filename, disp);
    ==> donne depthmap2.jpg
    reprojectImageTo3D(disp, xyz, Q, true);

    Comme vous pouvez le constater ce n'est pas très clair pour moi, et donc si quelqu'un a une piste pour moi, même de la doc, parce que là je tourne en rond et les docs que je trouve ne m'apporte pas grand chose.

    Merci !
    Images attachées Images attachées    

  6. #6
    Membre actif

    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 170
    Points : 202
    Points
    202
    Par défaut
    Je pense que le problème est plus lié à la méthode utilisée plutôt qu'à opencv.
    A moins d'avoir un modele de ce que l'on observe, je ne connais pas d'algo qui permette d'avoir une vrai carte de profondeur en utilisant des points d'appariement...
    Ou alors faut fait comme les mecs de chez Intellisence (ceux qui ont fait la Kinnect)

  7. #7
    Membre régulier Avatar de Vestaproman
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Décembre 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2003
    Messages : 95
    Points : 84
    Points
    84
    Par défaut
    Pour info, la Kinect c'est PrimeSense

Discussions similaires

  1. Objets 3D avec OpenCV ?
    Par engineer_23 dans le forum OpenCV
    Réponses: 5
    Dernier message: 12/01/2008, 18h48
  2. Problème d'insertion avec OpenCV
    Par Ph.denis dans le forum Eclipse C & C++
    Réponses: 1
    Dernier message: 15/10/2007, 11h31
  3. problème QTDesigner avec OpenCV
    Par kanzarih dans le forum Qt
    Réponses: 13
    Dernier message: 04/07/2007, 13h05
  4. probleme avec opencv
    Par dz_robotix dans le forum Visual C++
    Réponses: 2
    Dernier message: 06/03/2007, 10h39
  5. Réponses: 1
    Dernier message: 01/10/2006, 15h44

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