1

I am performing 3d reconstruction using two views. Initially, I have rotation, translation and camera parameter matrices.

R=[ 1 0 0;
    0 0.9 -0.25;
    0 0.2 0.96]
t=[ 0.5; -10; 2.75];
Kleft= [-1000 0 511;
         0 -1000 383;
         0  0    1];
Kright=[-500 0 319;
         0 -500 119;
         0 0 1];

How to find essential matrix using them?

1 Answers1

2

You need to invert the camera matrices to get to normalized image coordinates, so it is:

E = inv(transpose(Kleft)) * R * Tx * inv(Kright)

where Tx is the matrix representation of the cross product by t:

Tx = [ 0    -t(3)  t(2)
       t(3)  0    -t(1)
      -t(2)  t(1)   0 ] 

See this wikipedia article

Francesco Callari
  • 11,300
  • 2
  • 25
  • 40
  • I guess this the formula of the Fundamental Matrix not the essential. No camera matrices are involved in Essential Matrix – Humam Helfawi Jul 03 '23 at 09:05
  • @Human Helfawi, wrong. As I pointed at in my answer, the essential matrix is the fundamental matrix expressed in normalized image coordinates. To normalize the image coordinates you need the calibration. – Francesco Callari Jul 04 '23 at 17:27
  • Although your statement "the essential matrix is the fundamental matrix expressed in normalized image coordinates" is correct. I do not see how that can help. The OP accepts your answer so maybe this is what the OP needs. However, the answer still incorrect (or at least irrelevant) for future users. The question was about the Essential Matrix for a system where R,T,K1,K2 are known.. The Essential matrix by definition is not what your answer has provided. Your answer provided the Fundamental Matrix – Humam Helfawi Jul 05 '23 at 07:55