# projective camera: back-projecting a point on the image plane into 3-space

suppose I got a projective camera model. for this model I would like to back-project a ray through a point in the image plane. I know that the equation for this is the following: $$y(\lambda) = P^+_0 x_0 + \lambda c_0$$ where $P^+_0$ denotes the pseudoinverse of the camera matrix. $x_0$ the point on the image plane and $c_0$ the center of the camera.

Now I don't fully get this equation. I get that $P^+_0 x_0$ results in a point on the line we are looking for. Hence we have two points that we can use for constructing a line. However I don't get the parametrization using $\lambda$. Why is the equation not in the form like: $$y(\lambda) = (1-\lambda) a + \lambda b$$

Any help in understanding the original equation of the resulting ray would be appreciated! :D

-

I hope it's ok if I provide an answer myself.

Algebraic explanation: we're trying to solve the equation $$PX=x$$ This is a linear system which can be solved using the pseudo-inverse(see): $$X(\lambda)=P^+x+(I-P^+P)\lambda$$ We now $PC=0$, hence $I-P^+P$ is exactly our $C$.

-

The equation is in your form, with $a = P^+_0 x_0$ and $b = P^+_0 x_0 + c_0$.

Since $P c_0 = 0$, $P \lambda c_0 = \lambda P c_0 = 0$. I think that adding a linear multiple of $c_0$ corresponds to sliding along a line normal to the image plane (i.e. parallel to the principal axis), which doesn't change the projected point in the image plane.

By the way, I found the original poster's specific equation on p.162 of Multiple View Geometry in Computer Vision by Richard Hartley and Andrew Zisserman via a web preview.

-
thanks for you answer. however I don't think that it accounts for sliding along the line normal to the image plane, (unless our original point is (0,0)) if it was sliding along the normal we would get lot's of points in 3-space that don't actually map to our original point on the image plane. – tdomhan Jan 31 '12 at 20:11