1

J'ai ensemble de 3D points connus dans le système de coordonnées du monde et je connais 2D points dans l'image. Maintenant pour une nouvelle coordonnée 3D (x, y, z) J'ai besoin de trouver les coordonnées de l'image 2D (u, v) comment puis-je trouver cela dans OpenCV ?? Comment puis-je trouver une matrice de transformation (matrice de caméra, rotation, translation) en utilisant OpenCV?3d à 2d transformation en opencv

+1

utilisez calibrateCamera ou solvePnp (interprétation inverse). Vous obtiendrez R et T à utiliser dans la fonction projectPoints. – Micka

+0

Dans solvePnP(), faut-il donner une matrice de caméra en entrée, dans la documentation c'est donné comme matrice d'entrée – danishansari

+0

@Micka quelle est la différence entre calibrateCamera() et solvePnP? – danishansari

Répondre

1

Vous devez d'abord lire environ Fundamental Matrix et epipolar geometry et comprendre comment la projection des coordonnées du monde au plan de l'image est effectuée.

De la première partie de votre question, il semble que vous ayez déjà cette matrice de projection. Pour toute nouvelle coordonnée mondiale, utilisez simplement cette matrice.