comment obtenir de l'Homographie de la matrice à l'aide d'OpenCV (Couture 2 images)
Je suis en train de travailler sur OpenCV dans visual studio 2012 , j'ai essayé d'obtenir la matrice d'Homographie pour assembler 2 images dans opencv si vraiment je ne sais pas les démarches à suivre pour faire hein :
- Utilisation
cv::findHomography
pour trouver le point de vue de la transformation: docs.opencv.org/modules/calib3d/doc/... - pouvez-vous me donner un exemple de cv::findHomography
- Tout est là dans la documentation. Vous avez juste besoin de la construction de deux vecteurs où le premier contient les coordonnées 2D à partir de la première image et la seconde ceux de la deuxième. Tous les autres paramètres sont facultatifs. Cependant, deux points par image sont sans doute trop peu pour un bon résultat.
- mais les vecteurs est dans la forme de points p1(x1, y1) p2(x2, y2) ??
Vous devez vous connecter pour publier un commentaire.
D'abord, vous devez être conscient que les deux point de correspondances, qui vous illustrer dans votre image, ne sont pas suffisantes pour l'estimation de l'homographie. Une homographie a 7 paramètres libres - il y a 8 éléments de la matrice, mais une homographie est homogène en quantité. Cela signifie que vous pouvez l'échelle de la matrice que vous le souhaitez, ce qui réduit les paramètres libres par un. Pour estimer les 7 paramètres dont vous avez besoin au moins quatre points correspondants.
Je pense comprendre ce que vous faire est plus important que l'aveuglette appel OpenCv méthodes, veuillez donc lire sur le réel des algorithmes. Le plus simple (mais non optimale) méthode de calcul de l'homographie est DLT, les montants qui te réarrangement de l'équation
y = Hx
pour quatre points ou plus dans le but de résoudre les composants deH
dans un sens des moindres carrés. C'est une belle explication de l'détails:https://engineering.purdue.edu/kak/courses-i-teach/ECE661.08/solution/hw4_s1.pdf
Le recteur de référence est Multiple de Vue de la Géométrie de la Vision par Ordinateur par Heartley et Zisserman.
Comme l'a souligné dans les commentaires, le OpenCv docs sont ici:
http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#findhomography
À établir une homographie entre deux images dont vous avez besoin au moins 4 points.
Chacun dispose de deux coordonnées, ce qui vous donne deux équations de contraintes.
Une homographie a 8 degrés de liberté (c'est un 3x3 plein rang de la matrice avec 9 éléments, -1 d.o.f. en raison de l'échelle parce qu'il opère sur les coordonnées homogènes).
Noter que seules les images de surfaces planes, ou des images prises par une caméra en rotation autour de son centre peuvent être liées par une homographie (dans ce dernier cas, la surface plane est le plan à l'infini).
Ce page montre comment calculer l'homographie avec l'extraction de caractéristiques et de RANSAC.