2014-07-20 2 views
0

mon projet de semestre consiste à calibrer les caméras stéréo avec une grande ligne de base (~ 2m). donc mon approche est de fonctionner sans modèle d'étalonnage défini exactement comme l'échiquier car il doit être énorme et difficile à manipuler.Reconstruction 3D à partir de 2 images avec étalonnage de base et caméra unique

mon problème est semblable à ceci: 3d reconstruction from 2 images without info about the camera

Programme jusqu'à présent:

  • détection d'angle gauche de l'image goodFeaturesToTrack
  • coins raffinés cornerSubPix
  • emplacements d'angle Rechercher dans l'image droite calcOpticalFlowPyrLK
  • calculer la matrice fondamentale F findFundamentalMat
  • Calculons H1, de rectification H2 matrice homographie stereoRectifyUncalibrated
  • images Corriger les warpPerspective
  • Calculer carte Disparités sgbm

jusqu'à présent si il fonctionne bien Praticable images mais rectifiés sont "sauter" en perspective si je change la nombre de coins ..

Je ne sais pas si cette forme imprécision ou des erreurs je fou ou si elle ne peut pas être calculée en raison de paramètres de caméra connus ou sans compensation de distorsion de l'objectif (mais aussi happ ens sur Tsukuba photos ..) suggestions sont les bienvenus :)

mais pas mon problème principal, maintenant je veux reconstruire les points 3D.

mais reprojectImageTo3D a besoin de la matrice Q que je n'ai pas encore. alors ma question est de savoir comment le calculer? J'ai la ligne de base, la distance entre les deux caméras. Mon sentiment dit que si je convertis la carte des disparités en un nuage de points 3D, la seule chose qui me manque est l'échelle droite? donc si je mets dans la ligne de base j'ai eu la reconstruction 3D droite? alors comment? Je prévois également de compenser la distorsion de l'objectif comme premier pas pour chaque caméra séparément avec un échiquier (petit et proche d'une caméra à la fois). Je ne dois pas être éloigné de 10-15m avec un gros motif dans la zone de chevauchement ..) donc si cela aide je pourrais également utiliser les paramètres de la caméra ..

existe-t-il une documentation en plus de la http://docs.opencv.org? que je peux voir et comprendre quoi et comment la matrice Q est calculée ou puis-je ouvrir le code source (probablement difficile à comprendre pour moi ^^) si j'appuie sur F2 dans Qt je ne vois que la fonction avec les types de paramètres de transfert.(Désolé im vraiment nouveau à tout cela)

http://i.stack.imgur.com/A1Wjc.jpg

  • gauche: entrée avec coins trouvés
  • top h1, h2: corriger les images (semble bon avec ce nombre de coin ^^)
  • SGBM: disparités carte
+0

Cette question semble être hors sujet, car il est sur les mathématiques plutôt que de la programmation. S'il vous plaît se référer à math.stackexchange.com – lpapp

+0

@FinalContest thx je l'essaie là quelques questions de programmation sont dans mon sujet et voudrais savoir si quelqu'un le sait. Qt: ouvrir le code source d'une fonction? OpenCV: documentation pour les algorithmes implémentés disponibles? – 3gfisch

+0

Cela semble être deux questions distinctes. Vous devriez peut-être éditer la première partie et ne poser que des questions sur le "problème principal". Ensuite, posez une nouvelle question sur le premier numéro. En outre, si vous posez des questions sur le code, il est bon d'inclure le code qui montre le mauvais comportement ... – hyde

Répondre

0

donc j'ai trouvé ce que la matrice Q limite ici: Using OpenCV to generate 3d points (assuming frontal parallel configuration)

tous ces paramètres sont donnés par le seul étalonnage de la caméra: c_x, c_y, f

et la ligne de base est ce que j'ai mesuré: T_x

si cela fonctionne pour l'instant, seules les unités ne sont pas ce clair pour moi, je les ai utilisé forme unique caméra calib qui sont en px et définir la ligne de base en mètres, divisé la carte de disparité par 16, mais il ne semble pas la bonne échelle ..

par la façon dont la carte de disparité ci-dessus était faux ^^ et maintenant il semble mieux. vous devez faire une transformation anti-cisaillement car le fichier stereoRectifyUncalibrated est Shearing your image (non documenté?). décrit dans le présent document à « 7 Shearing Transform » par Charles Zhang boucle Zhengyou: http://research.microsoft.com/en-us/um/people/Zhang/Papers/TR99-21.pdf

Résultat: http://i.stack.imgur.com/UkuJi.jpg

Questions connexes