Précédent   Forum du club des développeurs et IT Pro > C et C++ > Bibliothèques > OpenCV
OpenCV Vos questions sur l'API de traitement d'images OpenCV.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 14/10/2012, 00h15   #1
medchafik
Futur Membre du Club
 
chafik chafik
Inscription : avril 2010
Messages : 57
Détails du profil
Informations personnelles :
Nom : chafik chafik

Informations forums :
Inscription : avril 2010
Messages : 57
Points : 18
Points : 18
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
medchafik est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 17/10/2012, 18h01   #2
saturn1
Membre confirmé
 
Inscription : janvier 2008
Messages : 576
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 576
Points : 258
Points : 258
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.
saturn1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2012, 00h28   #3
medchafik
Futur Membre du Club
 
chafik chafik
Inscription : avril 2010
Messages : 57
Détails du profil
Informations personnelles :
Nom : chafik chafik

Informations forums :
Inscription : avril 2010
Messages : 57
Points : 18
Points : 18
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?
medchafik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2012, 10h37   #4
saturn1
Membre confirmé
 
Inscription : janvier 2008
Messages : 576
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 576
Points : 258
Points : 258
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.
saturn1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2012, 15h54   #5
Poliv
Invité de passage
 
Homme
Inscription : novembre 2012
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2012
Messages : 1
Points : 1
Points : 1
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
Type de fichier : jpg depthmap.jpg (47,7 Ko, 12 affichages)
Type de fichier : png point_cloud.png (7,8 Ko, 12 affichages)
Type de fichier : jpg depthmap2.jpg (90,7 Ko, 11 affichages)
Poliv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2013, 11h17   #6
velkouby
Membre habitué
 
Homme
Inscription : janvier 2008
Messages : 139
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 35
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2008
Messages : 139
Points : 110
Points : 110
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)
velkouby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2013, 20h22   #7
Vestaproman
Membre du Club
 
Avatar de Vestaproman
 
Homme
Ingénieur R&D
Inscription : décembre 2003
Messages : 90
Détails du profil
Informations personnelles :
Sexe : Homme

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

Informations forums :
Inscription : décembre 2003
Messages : 90
Points : 47
Points : 47
Pour info, la Kinect c'est PrimeSense
Vestaproman est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 14h07.


 
 
 
 
Partenaires

Hébergement Web