There are many web sites that have guidelines for making stereo
pictures (e.g. on this site). Such
sites are very good to get an idea what is handy to do or not.
But a few
rules (which seem to be mean stream) around the rotation of
camera(s)/picture(s) are,
IMHO, not fully correct. Some examples:
The base line of each camera must be in line and horizontal.
No rotation between the two cameras.
On rule 1
If one wants a horizontal horizon, then certainly the first rule sounds
indeed correct; but
as a general
statement it is not correct. Look at this picture:
A perfectly
correct stereo picture with no vertical disparity errors (although the
base
line of the stereo camera was certainly not horizontal, as it was ~90
degrees
rotated).
You can even rotate each 2D picutre with the same amount (like 90
degrees) and have a correct picture (as long as one does not do a
vertical/horizontal alignment and/or crop before the rotate).
On rule 1 and 2
Another experiment related to the first and
the second rule:
Rule 1
make a 2D picture with any base line of the camera (in this
case
I took a horizontal base line).
make another 2D picture with another
base
line of the camera (in this case I took a horizontal base line) and at
some
distance (say 77 mm to the right and 31
mm lower) than earlier position
.
keep the CCD/film planes of the each camera in the same plane
(otherwise z-plane perspective distortion will happen)
remove barrel/pincushion distortion as much as possible from
the
2D pictures2.
This stereo pair is not easy to fuse, due
to the considerable vertical deviation
keep the optical axis' points
of each 2D picture in mind (in the middle of the above two 2D
pictures)
Rule 2
now rotate each 2D picture around its optical axis' point for a
certain amount (can be different for each 2D picture depending on its
camera rotation in reality). Don't apply vertical or
horizontal shifts before rotating!
As we kept the base line of each camera horizontal, the
rotation
of the 2D
pictures is a 'simple' formula. In this case 21.9 degrees
(arctan(31/77)) rotation for each 2D
picture. After that crop the pictures.
Only now remove
vertical deviation and determine a proper stereo
window:
One might not get a horizontal
horizon!
The above is quiet laborious (even in this simple situation where the
base line of each camera were both horizontal) and
it will be less easy in practice as one needs to know some
recording circumstances.
And agreed; the above resulting picture from the experiment is not
nice (a slanted horizon), but
it is
proper stereo without
significant vertical
deviation (there is some vertical deviation left due to inability to
remove
fully barrel-pincushion
distortion).
So the compensations are realized by recognizing the optical axis
points and the
position of the entrance-pupil/no-parallax
point of the cameras (at this moment convergence is not included in the
above thinking1,
just to keep it simple). It
is
important to restate that one can't correct a non-horizontal horizon.
Conclusion
The general rule might thus be:
One
should have the line between the
optical axis' points of the two lenses and resulting 2D pictures, at
the same angle as the line between the eyes.
Some rotations can be rectified
According to Ferwerda ([1990],
page 127) a rotation angle of up to 10 degrees can be safely
compensated for, larger angles will cause vertical misalignments that
will cause eye strain.
This is determined by looking at the maximum vertical misalignment
allowed. Say the max. horizontal deviation is 1.2 mm, Ferwerda assume
that the maximum vertical deivation should be smaller than 0.2 mm
(~16%). The rotation angle is asin(0.16)=~9 degrees.
Notes
This is for parallel optical axis. When
converging axis, I think, they need to converge in the plane
perpendicular to the plane made by the two CCDs/filmsurfaces (and thus
go through the optical axis' points on the CCD/film).