Bonjour,

Je suis en train de travailler sur la stéréovision avec OpenCV. J'ai déjà écrit plusieurs classes mais j'avoue être un peu perdu. Je souhaiterais simplement
savoir si ce que j'ai fait est cohérent et si je vais dans la bonne direction. Voici ce qui se passe :

1 -> Calibration :

Je cherche les paramètres intrinsèques et extrinsèques, je ne les connais pas au départ.

Pour cela, j'utilise cvFindChessBoardCorners sur l image gauche et l image droite. Ensuite, on affine la détection avec cvFindCornersSubPix. Les coins sont bien détectés.

J'utilise un certain nombre d images successives ( pour chaque caméra ), ce qui me donne plusieurs séries de points. Est ce une bonne idée ? De plus, les valeurs obtenues varient suivant le nombre d'images utilisées ( même en donant à chaque fois la même image ).

Ensuite, je donne toutes ces infos à cvCalibrateCamera2. J'appelle deux fois cette fonction, une fois pour chaque caméra, afin de trouver les paramètres intrinsèques et extrinsèques.

Enfin, j'appelle cvInitUndistortMap et cvRemap pour chacune des images pour corriger la distorsion.

2 -> Mise en correspondance :

Je commence par calculer la matrice fondamentale grâce à cvFindFundamentalMat. Cette fonction demande en paramètre des points. Comment les obtenir ? Les points du damier peuvent ils convenir ( puisqu'ils correspondent ) ?

De plus, cette fonction n'utilise pas les paramètres calculés en phase 1. Peut être servirons ils plus tard ?

Ensuite, je calcule les lignes epipolaires sur chaque image avec cvMakeScanlines en utilisant la matrice fondamentale. Enfin, je transforme les images et les lignes via cvPreWarpImage ( une fois pour chaque image ) et cvFindRuns afin d'obtenir les lines horizontalies et alignées.

Maintenant, le correpondant d'un point de l'image gauche se trouve sur la ligne qui lui correspond sur l'image de droite. Mais comment dois - je choisir les points auxquels je vais chercher leur correspondant sur l'autre image ?


Pouvez vous me die si ce que j'ai fait jusque ici est correct (appel des bonnes fonctions, manque t il une étape ? ) ?
Est ce normal si je n ai pas jusqu'à maintenant réutilisé les résultats de la phase de calibration ?
Comment choisir les points pour la mise en correspondance ? Quelles sont les fonctions qui permettent cela ?

Merci de votre patience et de votre aide