How to calculate Rotation and Translation matrices from homography?

后端 未结 3 1972
星月不相逢
星月不相逢 2020-12-30 17:35

I have already done the comparison of 2 images of same scene which are taken by one camera with different view angles(say left and right) using SURF in emgu

3条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-30 17:55

    To figure out camera motion (exact rotation and translation up to a scaling factor) you need

    • Calculate fundamental matrix F, for example, using eight-point algorithm
    • Calculate Essential matrix E = A’FA, where A is intrinsic camera matrix
    • Decompose E which is by definition Tx * R via SVD into E=ULV’
    • Create a special 3x3 matrix

          0 -1  0   
      W = 1  0  0      
          0  0  1  
      

    that helps to run decomposition:

    R = UW-1VT, Tx = ULWUT, where

          0  -tx  ty
    Tx =  tz  0   -tx
         -ty  tx   0 
    
    • Since E can have an arbitrary sign and W can be replace by Winv we have 4 distinct solution and have to select the one which produces most points in front of the camera.

提交回复
热议问题