-2

Converting a 2D image captured using camera of an iPhone or Android can be converted to 3D point cloud if we know the camera matrix. I have partial knowledge of how to compute some parameters given some other parameters but I would need your help for filling the spaces in my knowledge.

Given world coordinates(W), corresponding image coordinates(X) and camera intrinsics matrix (K). Task is to project a 3D point cloud into the world.

  1. Estimate Homography(H) using X and W.
  2. Estimate extrinsics matrix(E) using K and H.
  3. Compute the camera matrix using K and E.
  4. Project 3D points onto the image using camera matrix.

So, if I know at least 4 3D points and its corresponding pixel locations, provided I already know camera intrinsics then I can compute all the above things as mentioned.

But if I don't know camera intrinsics, how do I compute it? And how can I get at least 4 correspondences of world and image coordinates? Is there an easier way to get the camera matrix than the way I suggested?

I am not looking for camera calibration examples online but I want to write code from scratch. Any help regarding this is very much appreciated!

Jeru Luke
  • 20,118
  • 13
  • 80
  • 87
r4ghu
  • 75
  • 2
  • 6

1 Answers1

2

PS: regarding your assertion, in my opinion:

  1. Homography should not deal with 3D coordinates (with known depth).
  2. You should be able to compute the current camera pose using the homography and the previous camera pose under certain hypothesis (plane assumption), but it is not the usual procedure.

E usually stands for the Essential matrix, not the extrinsic matrix.

Catree
  • 2,477
  • 1
  • 17
  • 24