Bonjour,
Je cherche à recaler dans l'espace une image dont j'ai une représentation 3D sous forme de mesh. J'ai effectué une calibration de caméra avec OpenCV à l'aide de correspondances 2D-3D entre l'image et le mesh, J'obtiens alors une matrice de projection 3x4 qui est cohérente (l'erreur de reprojection est de l'ordre de quelques pixels) et que je peux décomposer en K * [R t] (paramètres intrinsèques et paramètres extrinsèques).
Je souhaiterais générer maintenant le rendu du mesh du point de vue de cette caméra dont je viens de calculer la matrice de projection, afin de superposer ce rendu avec mon image d'origine.
J'ai cru comprendre que le moyen le plus simple pour faire ça était de passer par openGL, exact?
Un point important, c'est que lors de ma décomposition, je trouve une matrice K de la forme :
[ fx skew cx ]
[ 0 fy cy ]
[ 0 0 1 ]
où mon skew est non négligeable (d'habitude il est courant de faire l'approximation skew ~ 0)
Si c'est bien openGL que je dois utiliser, est-ce facile de passer de la matrice de projection 3*4 donnée par openCV à qqchose d'utilisable par openGL (je n'ai jamais utilisé openGL mais d'après ce que j'ai lu les conventions ne sont pas du tout les mêmes)?
Et c'est possible ensuite d'importer facilement un mesh (en .ply / .obj ou autre), et d'en afficher le rendu à l'aide de ces matrices openGL (sachant que je peux avoir des mesh assez complexes)?
Partager