J'essaie de vérifier le calibrage de la caméra, donc je voudrais rectifier les images d'étalonnage. Je suppose que cela impliquera d'utiliser un appel à warpPerspective
mais je ne vois pas une fonction évidente qui prend la matrice de la caméra, et les vecteurs de rotation et de translation pour générer la matrice de perspective pour cet appel.OpenCV: obtenir la matrice de perspective à partir de la translation et de la rotation
Essentiellement, je veux faire le processus décrit here (voir en particulier les images vers la fin), mais en commençant par un modèle de caméra connu et pose.
Existe-t-il un appel de fonction simple qui prend les paramètres intrinsèques et extrinsèques de la caméra et calcule la matrice de perspective à utiliser dans warpPerspective
? Je vais appeler le warpPerspective
après avoir appelé undistort
sur l'image.
En principe, je pourrais tirer la solution en résolvant le système d'équations définies au sommet du opencv camera calibration documentation après avoir spécifié la contrainte Z=0
, mais je me dis que qu'il doit y avoir une routine en boîte qui me permettra de orthorectifier mes images de test . Dans mes recherches, j'ai du mal à parcourir tous les résultats d'étalonnage stéréo - je n'ai qu'un seul appareil photo, mais je veux rectifier l'image sous la contrainte que je ne cherche qu'un motif de test planaire .
Alors, par rectifient voulez-vous dire éliminer les effets de rotation?C'est-à-dire que vous n'avez qu'une vue, pas deux vues les unes par rapport aux autres, que vous voulez rectifier (aligner les lignes épipolaires). –
@DavidNilosek oui, j'ai une image oblique d'un tableau de cercles d'étalonnage, je voudrais récupérer la vue "haut". – Dave
J'essaie d'y réfléchir, mais je suis malheureusement à court de temps. Essayez d'utiliser l'inverse de la matrice de rotation comme la matrice de perspective pour warpPerspective, si cela fonctionne, je peux écrire quelque chose qui explique un peu mieux. –