Je pense qu'il y a quelque chose qui manque dans votre pensée.
Matrice de caméra K et dist. coefficient D sont les paramètres pour faire la distorsion (si votre objectif déforme l'image comme dans un fisheye). Ils sont ce qu'on appelle les paramètres intrinsèques de la caméra. Si nous changeons des termes de la vision par ordinateur à l'infographie, ces paramètres sont ceux que vous utilisez pour définir le tronc de la vue, et, par exemple, ils sont utilisés pour obtenir la distance focale de la caméra.
Mais ils ne suffisent pas pour faire la projection.
Pour la projection, si vous pensez dans un terme d'infographie (comme opengl, par exemple) vous devez avoir la matrice modèle-vue-projection. La matrice du modèle est la matrice qui spécifie la position de l'objet dans le monde. La matrice de vue spécifie la position de la caméra, et la matrice de projection spécifie le tronc (angle focal, distorsion de perspective, etc.). Si vous voulez savoir comment transformer les points du modèle de 3d en 2D (ou viceversa), vous avez besoin des matrices de projection et de vue (vous avez la matrice du modèle parce que vous avez les points 3d à partir desquels vous voulez début). Et en vision par ordinateur, la matrice de vue est appelée paramètres estrinsiques. Donc, vous avez aussi besoin des paramètres estrinsiques, qui sont la position de la caméra dans le monde. C'est, par exemple, ces paramètres sont les rvec
et tvec
besoins cv:: projectPoints
. Si vous voulez les calculer, ce sont exactement les résultats de cv::solvePnP
qui font le contraire de ce que vous voulez faire: de quelques points 3d connus couplés avec la projection 2d connue sur eux sur l'écran de la caméra, cette fonction donne vous les paramètres estrinsic (à partir de laquelle vous pouvez obtenir la matrice de vue pour une application opengl-opencv-augmentée-réalité-quelle que soit l'application via cv::Rodrigues
).
Dernière remarque: alors que les paramètres intrinsèques sont fixés dans toutes les images que vous photographiez avec une caméra (bien que vous ne changiez pas la focale bien sûr), les paramètres estrinisc changent chaque fois que vous déplacez l'appareil photo pour prendre une nouvelle image à partir d'un point de vue différent (c'est-à-dire: cela change le point de vue en perspective, donc la projection 3D-2D que vous voulez trouver)
L'espoir pourrait aider!
quoi de neuf? ça aide? – nkint