Calibrer votre appareil avec opencv, comment ça fonctionne et comment dois-je déplacer mon échiquier
Je suis en utilisant openCV la calibrateCamera fonction de calibrer mon appareil photo. J'ai commencé par le tutoriel la mise en œuvre, mais il semble y avoir quelque chose de mal.
La caméra est à la recherche vers le bas sur une table et j'ai utiliser un échiquier avec une superficie d'environ 1/2 ou 1/4 de mon image totale. Depuis que j'ai l'intention de suivre un objet plat qui se glisse sur cette table, j'ai aussi glisser ma échiquier sur cette table.
Donc, ma première question est: est-il correct que je déplace mon échiquier sur cette table? Ou dois-je faire quelques mouvements en 3D pour obtenir un bon résultat?
Parce que je me demandais: quelle est la fonction devine la distance entre la table et la caméra? Il n'a qu'une supposition de son point focal, et il n'a qu'un "œil", donc il n'y a pas de profondeur de vision.
Ma deuxième question: comment le truc fonctionne? :p quelqu'un Peut me montrer une mise en œuvre de cette fonction?
Thx!
OriginalL'auteur user2812874 | 2013-12-20
Vous devez vous connecter pour publier un commentaire.
le calibrage de la caméra a besoin d'une graine de points pour calculer la caméra et la matrice de la position du point central de la caméra, et la distorsion des matrices , si vous souhaitez utiliser un échiquier, vous devez prendre en considération sa dimension(je n'ai jamais utilisé les cercles fonction, car la détection de l'échiquier est plus facile ) , la dimension de l'échiquier doit être paire X dissocier numéro de sorte que vous pouvez obtenir une bonne matrice de rotation ! la fonction d'étalonnage minimum 8x ensemble de chessboardCorners et ( je me sers de 30 dire 50) cela dépend du niveau de précision que vous voulez être .la valeur de retour de la fonction d'étalonnage est la re-projection d'erreur de ce qui devrait être proche de zéro si l'étalonnage est bon.
le cameraCalibration prendre la taille de utilisé échiquiers ( vous pouvez utiliser différents chessboardSize) et la dimension ( en mm ou cm ou même m, etc.. ) votre résultat dépendra de votre dimension donnée.
Par la voie après l'obtention de la chessboardCorners vous devez affine avec la fonction
CornerSubPix
vous pouvez définir comment bien le raffinement est dans le paramètre de la fonction.Dans l'internet, vous pouvez trouver beaucoup de docs sur ce sujet.
http://www.ics.uci.edu/~majumder/vispercep/cameracalib.pdf
J'espère que cela aide !
vérifiez la façon dont la courbure perspektive fonctionne et que vous l'avez obtenu
Il ya beaucoup d'articles à ce sujet. Aussi, de nombreuses questions sont posées dans stackoverflow. Si vous jetez un oeil à O'Reily de OpenCV livre (ou le cas échéant livre), vous pourrez comprendre le principe de fonctionnement du concept.
OriginalL'auteur Engine
concernant l'échiquier positions, j'ai obtenu de meilleurs résultats avec les 25-30 images
D'abord je fais 3 à 4 images qui montrent l'échiquier à différentes distances, plein cadre de la moitié 1/3 1/4
ensuite, j'ai assurez-vous d'aller à chaque coin de rue, chaque centre de chaque bord, plus 4 rotation sur chacun des axes XYZ. Lors de l'utilisation de 640x480 capteur de mon erreur de reprojection est la plupart du temps autour de 0,1 ou encore mieux
ici quelques liens qui m'a mis dans la bonne direction:
Comment vérifier l'exactitude de l'étalonnage d'une webcam?
OriginalL'auteur jayce