Fig 1. Reference scale on a windshield
To the right is a photo of the reference scale resting on a car windshield. Believe it or not, enough information can be gleaned from the image of the reference scale to determine the tilt of the windshield (56°) and the angle of view of the camera (it was 52° off to the right, and looking down at 38°).
When photographed obliquely, the circular target on the reference scale will appear in photos as an ellipse. Parameters of the ellipse alone provide enough information to determine the angle between the camera's view and the axis of the disc on the reference scale. Furthermore, if the horizontal axis of the perspective disc on the reference scale was aligned to horizontal (ie., was level), and the camera was also horizontal (level, though possibly angled looking down or up), it's possible to deduce the angles of rotation (horizontal and vertical) of the disc in the real world with respect to the ground, and the angle by which the camera was pointing down or up. The derivation of this is somewhat involved, but the resulting formulae are easily applied (by a computer) -- the form below calculates the three angles, given information about the ellipse in a photo.
Fig 2. Fig 1, measured
The accuracy of this method depends on good measurements of the ellipse (easy, using the method outlined below) and the reference scale and camera having been level. Sensitivity improves as the disc is viewed further off-axis (whereas a reference scale with a pole mounted on the disc axis would be sensitive near-axis). Photographs are assumed by the form below to have been taken from 'infinity' (reasonably approximated by using a telephoto lens; information from the disc image can be used to determine whether a telephoto lens was used; see Ellipse trivia below).
Measurements of the reference scale in figure 1 (upper right) on a car windshield are shown in figure 2 and have been pre-entered into the form below -- press the 'Compute angles' button to find the angles. (Answer: The reference scale, and thus the windshield, tilts back 56 degrees, which agrees well with an inclinometer reading of 55 degrees. In addition, the camera is looking at the reference scale from 52 degrees to the right, and is looking down 38 degrees.)
Measuring the ellipse in a photo that includes the reference scale
Photoshop can be used to obtain the major/minor axes lengths and tilt from an image by matching an ellipse path generated by Photoshop to one in a photograph -- I find this more accurate than 'eyeballing' it. Here's the procedure I use with Photoshop:
Next, the tilt of the reference scale's horizontal is easily measured using Photoshop's 'measure' tool (the angle is displayed in the Info panel). If you measure left to right, the angle displayed by Photoshop will be relative to horizontal and negative -- convert that to positive for 'tilt of scale' in the form above. Measure from extreme left to right (instead of center to right) for better accuracy.
Ellipses 'in the wild'
Sometimes there are circles 'in the wild' with horizontals marked, such as the clock faces in the photo below, of London's Big Ben clock tower. The two clocks in the right-most image have been marked up using Photoshop with the ellipses (red), their major axis (white), and the horizontal (green).
The measurements are as follows:
The results are:
Close! The verticals should be zero (we presume the clocks are vertical), and the camera dips should be equal (they differ by one degree), and the sum of the horizontal rotations should approach 90 degrees, presuming the tower plan is a regular rectangle viewed from a distance less than infinite (42 + 47 = 89).