Je suis en train de calibrer ma caméra suite à un tutoriel. Je comprends tout le processus de recherche du paramètre intrinsèque et des coefficients de distorsion de la caméra à l'aide de l'échiquier. Qu'est-ce que je ne comprends pas, pourquoi après cela, nous appelons le getOptimalNewCameraMatrix
? Surtout avec le paramètre alpha
. J'ai déjà lu la documentation, mais peut-être parce que je ne connais pas le calibrage de la caméra, je ne peux vraiment pas le comprendre.Que fait le getOptimalNewCameraMatrix dans OpenCV?
Donc, ceci est l'image originale. Ci-dessous sont des exemples des images non déformées de l'image ci-dessus (en utilisant undistort
d'OpenCV).
Pour celui-ci, je ne désistors pas l'image directement en utilisant les coefficients intrinsèques de caméra et de distorsion obtenus.
Quant à celui-ci, j'appelle le getOptimalNewCameraMatrix
avec alpha=0
(à gauche) et alpha=1
(à droite) avant de undistort il.
D'après ce que je peux voir, le getOptimalNewCameraMatrix
préserve l'image originale sans perdre l'information? J'espère que quelqu'un peut interpréter ce que cette fonction fait vraiment.
Et si je veux construire un modèle 3D avec Structure from Motion (SfM) avec des images de cet appareil photo, dois-je d'abord appeler le getOptimalNewCameraMatrix
?
Merci.