2
$\begingroup$

When taking a picture of a cross, if the center of the cross is known, is there any way to determine the angle at which the picture was taken based on the number of points on the y axis above and below the x axis?

For example, the line of the x axis is between the points (0,5) and (10,5). The line of the y axis is between the points (5,0) and (5,10). If a picture of this cross was taken from directly above it, the amount of points above and below the intersection point (5,5) would be equal. However, if a picture of this cross was taken at an angle, the amount of points above and below the intersection point would not be equal due to the change in perspective.

Is there any way the angle could be determined based on that ratio of points above and below the intersection on the y-axis?

Sorry if I tagged the post improperly, not sure what this would fall under.

1 Answers 1

1

Is the "camera" fixed to a certain $x, y$ position, or is the camera fixed to tilt only? Adjusting the $x, y$ position of the camera would also change the number of points above and below the $x$-axis.

Edit:

I'll assume that the camera and cross are both centered at the origin. You'll need the distance from the camera to the surface, to determine $\theta$.

Let $\alpha$ be the $y$-coordinate of the center of the cross, and let $\beta$ be the distance from the camera to the surface. The angle of tilt of the camera will be

$ \theta = \arctan \left(\frac{-\alpha}{\beta}\right) $

Use $-\alpha$ because a negative tilt with respect to the origin will read a positive $y$-coordinate for the center of the cross, and a positive tilt with respect to the origin will read a negative $y$-coordinate.

  • 0
    In that case, what you're after is image rectification. There are essentially three distinct algorithmic methods: planar rectification, cylindrical rectification, and polar rectification. See http://en.wikipedia.org/wiki/Image_rectification for more.2012-04-14