trouver les coordonnées du monde réel d'un point d'image

Je suis à la recherche de beaucoup de ressources sur internet pour de nombreux jours, mais je ne pourrais pas résoudre le problème.

J'ai un projet dans lequel je suis censé détecter la position d'un objet circulaire sur un plan. Depuis l'avion, j'ai besoin de la position x et y (pas z) Pour cela j'ai choisi d'aller avec le traitement d'image. L'appareil photo(une seule vue, pas stéréo) de la position et de l'orientation est fixe par rapport à un système de coordonnées de référence sur l'avion et sont connus

J'ai détecté l'image de pixel de coordonnées des centres des cercles à l'aide d'opencv. Tout ce que je besoin est maintenant à convertir les coord. dans le monde réel.

http://www.packtpub.com/article/opencv-estimating-projective-relations-images
dans ce site et d'autres sites ainsi, un homographic transformation est nommé:

p = C[R|T]P; où P est le monde réel les coordonnées et p est le pixel coord(en homographic coord). C est la caméra de la matrice représentant les paramètres intrinsèques, R est la matrice de rotation et T est la translation de la matrice. J'ai suivi un tutoriel sur l'étalonnage de l'appareil photo sur opencv(appliqué la cameraCalibration fichier source), j'ai 9 beaux chessbordimages, et, comme résultat, j'ai intrinsèques de la caméra de la matrice, et en translation et en rotation params de chaque image.

J'ai le 3x3 intrinsèques de la caméra de la matrice(la longueur focale , et le centre de pixels), et un 3x4 extrinsèques de la matrice [R|T], où R est la gauche 3x3, et T est la droite 3x1. Selon p = C[R|T]P de la formule, je suppose que par la multiplication de ces paramètre matrices à P(monde) nous obtenons p(pixel). Mais ce dont j'ai besoin est le projet de p(pixel) coord: P(les coordonnées du monde) sur le plan du sol.

Je suis étudiant en génie électronique et électrique. Je n'ai pas pris de traitement de l'image ou de l'avancée de l'algèbre linéaire classes. Comme je me souviens de l'algèbre linéaire sûr, on peut manipuler une transformation que P=[R|T]-1*C-1*p. Cependant, c'est dans euclidienne coord système. Je ne sais pas une telle chose est possible dans hompographic. en outre 3x4 [R|T] Vecteur n'est pas inversible. D'ailleurs, je ne sais pas c'est la bonne façon de procéder.

Intrinsèques et extrinsèques sont des paramètres sais, Tout ce que je besoin est le monde réel projet de coordonner sur le plan du sol. Car le point est sur un plan, les coordonnées seront 2 dimensions(profondeur n'est pas important, comme un argument opposé vue unique de la géométrie).La caméra est fixe(position,orientation).Comment je dois faire pour trouver du monde réel des coordonnées du point sur une image capturée par une caméra(une seule vue)?

MODIFIER
J'ai lu "l'apprentissage de l'utilisation d'opencv" de Gary Bradski & Adrian Kaehler. Sur la page 386 en vertu de l'Étalonnage->Homographie l'article il est écrit: q = sMWQ où M est la caméra intrinsèque de la matrice W est 3x4 [R|T], S est un" facteur d'échelle je suppose liée avec l'homographie concept, je ne sais pas clairement.q est le pixel cooord et Q est vraie coord. Il est dit dans l'ordre pour obtenir de monde réel de coordonnées(sur l'échiquier de l'avion) de la coord d'un objet détecté sur le plan de l'image; Z=0, puis aussi la troisième colonne dans W=0(l'axe de rotation, je suppose), tailler ces parties inutiles; W est une matrice de 3x3. H=MW est un 3x3 matrice d'homographie.Maintenant, nous pouvons inverser la matrice d'homographie et de gauche se multiplient avec q pour obtenir Q=[X Y 1], où Z coord était coupé.

J'ai mentionné algorithme. et j'ai obtenu des résultats qui ne peuvent pas être entre les coins de l'image(le plan de l'image est parallèle à la caméra avion juste en face de ~30 cm de l'appareil photo, et j'ai obtenu des résultats comme 3000)(échiquier carré tailles ont été saisies dans la en millimètres, donc je suppose délivrée monde réel coordonnées sont encore en millimètres). De toute façon je suis encore en train d'essayer des trucs. Par la façon dont les résultats sont previosuly très très grand, mais je partage toutes les valeurs de Q par la troisième composante de la Q pour obtenir (X,Y,1)

MONTAGE FINAL

Je ne pouvais pas accomplir caméra méthodes de calibration. De toute façon, j'aurais du commencer avec projection de perspective et de les transformer. De cette façon, je me suis fait très bien les estimations avec une perspective de transformation entre le plan image et sur le plan physique(ayant généré le transformer en 4 paires de points coplanaires sur les deux plans). Alors simplement appliqué la transformation sur le pixel de l'image des points.

source d'informationauteur user3417020