When making images of the same 3D scene not all pairs of images can be stitched together. There are two experimental setups that lead to a set of images that can be stitched together:
- in case the scene is a plane in 3D (e.g. a large painting on the wall, or a large facade of a building), or
- in case the camera doesn’t change its position (the optical center doesn’t move) and only the orientation is changed (this is for instance—approximately—the case when you stand in one place and only rotate your camera when making pictures of the same scene.
1.4.1. A plane in 3D¶
Consider two different views of the same plane in 3D. Without loss of generality we assume that the plane we are looking at is the \(Z=0\) plane in the world coordinate system.
The first camera looks at a point \(\hv X\) and finds its projection in the 2D point \(\hv x \sim P \hv X\). If \(\hv X\) is on the plane \(Z=0\) we may write:
The second camera looking at the same point finds its projection in \(\hv x'\sim P'\hv X\) and we have
Combining these two expressions we find:
Showing that there is indeed a \(3\times3\) projectivity matrix \(H'H\inv\) that relates all points in both images.
1.4.2. The rotating camera¶
Without loss of generality we assume the first camera is perfectly aligned with the world coordinate system, i.e. the first camera has translation vector zero and no rotation leading to:
The second camera is only rotated with respect to the first camera and while looking at the same point \(\hv X\) this camera finds:
Please not the we take a different internal matrix for the second cam. This allows for zooming the camera! Due to the zero last columns in both camera matrices we may reduce both the above equations:
Note that now we use \(\v X\) instead of \(\hv X\). Combining the two equations and eliminating the common \(\v X\) (but unknown) in both equations we arrive at:
Again showing that there is a projectivity that relates all points in both images.