Est-il possible d'obtenir vue fronto parallèle de l'image ou la position de la caméra par rapport 2d-3d points?

StackOverflow https://stackoverflow.com/questions/8838158

Question

Est-il possible d'obtenir vue de face parallèle de l'image ou la position de la caméra par rapport 2d-3d points en utilisant OpenCV?

Pour cela, j'ai paramètres intrinsèques et extrinsèques. J'ai aussi 3d coordonnées du jeu de points de contrôle (qui se trouve dans un seul plan) sur l'image (relation 2d-3d).

En fait emplacement I besoin et de l'orientation de la caméra, mais il est difficile de ne pas trouver si je peux convertir l'image en mode fronto-parallèle.

S'il est impossible de le faire avec OpenCV, sont les autres bibliothèques qui peuvent résoudre cette tâche?

Était-ce utile?

La solution

Solution est basée sur les formules dans la documentation OpenCV calibrage caméra et reconstruction 3D

Considérons sous forme numérique sans coefficient de distorsion (en contraste avec la forme de la matrice).

Nous avons u et v.
Il est facile de calculer x' et y'.
Mais x et y ne peuvent pas être calculer parce que nous pouvons choisir une z non nulle.
Ligne en 3D correspond à un point dans l'image 2D.

Pour résoudre cela, nous prenons deux points pour z=1 et z=2. Ensuite, nous trouvons 2 points dans l'espace 3D qui spécifient la ligne (x1,y1,z1) et (x2,y2,z2).

Ensuite, nous pouvons appliquer R -1 à (x1,y1,z1) et (x2,y2,z2) dont les résultats en ligne déterminée par deux points (X1, Y1, Z1) et (X1, Y1, Z1).

Étant donné que nos points de contrôle se trouvent dans un même plan (plan est Z laisser = 0 pour simplifier), nous pouvons trouver le point correspondant de X et Y qui est un point en 3D.

Après avoir appliqué la normalisation de mm de pixels on obtient l'image fronto-parallèle.

(Si nous avons l'image d'entrée déformée nous undistort premier)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top