How to triangulate two 3d lines

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 reply · 2K views
assafMOCAP
Messages
2
Reaction score
0
Hi guys,
I am working on an computer vision project.
the project uses two cameras to triangulate an object in front of the cameras.


Homework Statement


Express the object's location in 3d coordinates relative to the cameras.

Homework Equations


From the software i can get two line equations.
The line equations are for lines going through the centers of the lens and the center of the object itself
1: a1x1+b1y1+c1=0
2: a2x2+b2y2+c2=0
Known parameters are the a1,a2,b1,b2,c1,c2
Also know is the relation between the two cameras (The Fundamental matrix 3X3)
Also, the object coordinates in 2d on a projection plane from each camera is known (i.e. x1,y1 and x2,y2 )

Sadly, the lines do not meet, so its also needed to calculate the shortest line that connects both lines and treat its middle as the object's center.

The Attempt at a Solution


how to calculate a vector that originates from the middle of the two cameras, to the object.
 
Physics news on Phys.org
assafMOCAP said:

Homework Statement


Express the object's location in 3d coordinates relative to the cameras.

Let's say that your original coordinate system is ##(O,\vec i,\vec j,\vec k) ##
You want to set a camera in ##O'## and ##O''##, and set a coordinate system in ##O'## and ##O''##.

If ##M## has coordinates ##(x,y,z)## in the original coordinate system, its coordinates ##(x',y',z')## in ##(O',\vec I,\vec J,\vec K) ## satisfy

## \begin{pmatrix} x \\ y \\ z \end{pmatrix} = \vec{OO'} + P . \begin{pmatrix} x' \\ y' \\ z' \end{pmatrix} ##

where ##P## is the change of basis matrix from ##(\vec i,\vec j,\vec k)## to ##(\vec I,\vec J,\vec K) ##. Similarly for the other camera.