Différence entre les matrices fondamentales, essentielles et D'homographie

j'ai deux images qui sont prises de positions différentes. La 2ème caméra est située à droite, en haut et en arrière par rapport à la 1ère caméra. donc je pense qu'il y a une transformation de perspective entre les deux vues et pas seulement une transformation affine puisque les caméras sont à des profondeurs relativement différentes ( suis-je droit ?? ), j'ai quelques points correspondants entre les deux images. Je pense utiliser ces points correspondants pour déterminer transformation de chaque pixel de la 1ère à la 2ème image.

je suis confus par les fonctions findFundamentalMat et findHomography .... les deux renvoient une matrice 3x3, Quelle est la différence entre les deux ??

y a-t-il une condition requise/préalable pour les utiliser (quand les utiliser)??

lequel utiliser pour transformer les points de la 1ère image à la 2ème de l'image?? Dans les matrices 3x3 que les fonctions renvoient, incluent-elles la rotation et la translation entre les deux images??

de wikipedia , a appris que la matrice fondamentale est une relation entre les points d'image correspondants. Dans une réponse SO ici , il est dit matrice essentielle e est nécessaire pour obtenir des points correspondants... mais je n'ai pas la matrice interne de la caméra pour calculer E.....Je viens d'avoir les deux image.

Comment dois-je procéder pour déterminer le point correspondant? En attente de vos propositions.. Merci

25
demandé sur Community 2013-04-18 20:25:02

3 réponses

sans aucune supposition supplémentaire sur la géométrie de la scène mondiale, vous ne pouvez pas affirmer qu'il y a une transformation projective entre les deux vues . Ceci est vrai uniquement si la scène est planaire. Une bonne référence sur ce sujet est le livre géométrie à vues multiples dans la Vision informatique par Hartley et Zisserman.

si la scène du monde n'est pas planaire, vous ne devez certainement pas utiliser la findhomographie fonction. Vous pouvez utiliser la fonction findFundamentalMat, qui vous fournira une estimation de la matrice fondamentale F. cette matrice décrit la géométrie épipolaire entre les deux vues. Vous pouvez utiliser F pour rectifier vos images afin d'appliquer des algorithmes stéréo pour déterminer une carte de correspondance dense.

je suppose que vous utilisez l'expression" transformation de perspective "pour signifier"transformation projective". À ma connaissance, une transformation de la perspective est monde à l'image mapping, pas une image de mappage d'image.

11
répondu carlito 2016-03-02 01:25:17

La matrice Fondamentale a la relation x'fu = 0 avec x dans une image et u dans l'autre iff, x et u sont des projections du même point 3d. Également l = Fu définit une ligne ( lx' = 0 ) où le point de correspondance de u doit être on, de sorte qu'il peut être utilisé pour limiter l'espace de recherche pour les correspondances.

une homographie cartographie un point sur une projection d'un plan à une autre projection de la avion. x = Hu

8
répondu Pruyque 2013-06-06 07:10:11

il n'y a que deux cas où la transformation entre deux vues est une transformation projective (c'est-à-dire une homographie): soit la scène est planaire, soit les deux vues ont été générées par une caméra tournant autour de son centre.

8
répondu Giuliano 2013-06-21 20:29:00