2016-07-14 5 views
1

J'essaie de ne pas distordre une distorsion cylindrique/radiale d'une image. Quand je vois les équations, elles ne nécessitent pas la distance focale de la caméra. Mais l'API openCV initundistortrectifymap les requiert sous la forme de la matrice intrinsèque de la caméra. Pourquoi ça? De toute façon de le faire sans eux? Parce que je comprends que l'undistort est commun pour diverses corrections de distorsion.Correction de distorsion radiale, paramètres de caméra et openCV

Répondre

1

La distance focale est essentielle dans le retrait de la distorsion - car elle fournit des informations sur les paramètres intrinsèques de la caméra - et il est assez simple de l'ajouter à la matrice de la caméra. Rappelez-vous juste que vous devez le convertir de millimètres en pixels. Ceci est fait pour s'assurer que les pixels sont rectangulaires. Pour la conversion, vous devez connaître la hauteur et la largeur du capteur en millimètres, le nombre de pixels horizontal (Sh) et vertical (Sv) du capteur et la distance focale en millimètres. La conversion est effectuée en utilisant les équations suivantes:
fx = (f (mm) x Sh (px))/largeur de capteur (mm)
fy = (f (mm) x Sv (px))/sensorheight (mm)

Vous trouverez plus d'informations sur les éléments de matrice de caméra here.

+0

Salut, merci pour la réponse. Dans le lien que vous avez mentionné, les équations de xcorrected et ycorrected n'exigent pas fx et fy. C'est ce qui m'a fait me demander si nous en avions vraiment besoin? – vvvv

+0

Les équations que vous mentionnez sont utilisées pour calculer la position du pixel après suppression de la distorsion radiale (premier jeu d'équations) et de la distorsion tangentielle (deuxième jeu d'équations). Si vous prenez soin de ces équations, vous remarquerez une équation composée de 3 matrices. La première matrice après le '=' est la matrice de la caméra. Vous verrez les éléments fx, fy, cx et cy. Les deux derniers éléments (cx et cy) sont le décalage du point principal dans la direction x et y en conséquence. Ces deux, ainsi que la distance focale, peuvent être calculés après un étalonnage de la caméra. – Nikos

+0

En outre, si vous ne connaissez pas la valeur pour le cx et cy, vous pouvez supposer que le p.p. n'a pas de décalage (il est exactement au centre de l'image), donc vous donnez à la fois la valeur 0. Bien que personnellement, je n'ai jamais vu une caméra avec 0 p.p. décalage, qui est tout à fait normal et causé en raison des imperfections de fabrication du système optique. – Nikos