user1200565
user1200565

Reputation: 51

Reconstruction a 3D point from multiple 2D points?

OpenCV contains a lot of support for 3D reconstruction from stereo cameras. In my case, I have six calibrated cameras (intrinsic and extrinsic), and I'd like to take common 2D points (say, of a test sphere) and get the corresponding 3D position. Any thoughts on how to do this?

What I have:
1) Calibration parameters for multiple cameras
2) 2D position of test sphere (in each image plane)

What I want to get:
1) Corresponding 3D point of test sphere

Upvotes: 5

Views: 2551

Answers (2)

Martin Beckett
Martin Beckett

Reputation: 96167

Do you know the position relationships between the cameras?

Then each image gives you horizontal and vertical angle - from the camera matrix and epipolar model. This gives you one straight line into space for each camera - simply solve for the point where all these intersect.

Upvotes: 2

comingstorm
comingstorm

Reputation: 26117

Your calibration parameters will give you a ray for each 2D point for each camera. If you have already identified which rays correspond to your test sphere, you want to do a least squares fit for your target point. (Although the link is using least squares for linear regression, you can use the same methods to find the 3D point minimizing the sum of the squared errors of all 2D points.)

Upvotes: 3

Related Questions