Panoramas are almost as old as photography itself. Professional photographers and inventors have been creating extreme wide-angle photos using a variety of methods since the nineteenth century, but until recently these required expensive specialized equipment and processing techniques. Several types of panoramic cameras have been built over the years that expose a large sheet of film by either moving a lens across it or exposing through a fixed lens with a very wide view angle.
More recent innovations in photography include digital cameras and computerized image processing, which have made possible yet another panoramic photography technique: image stitching. Stitched panoramas allow much more flexibility than older panoramic cameras and are well within the budget of any amateur photographer.
A stitched panorama starts off as a series of shot through a standard lens, with the camera in the same location, using the same exposure, but facing in different directions. Computer software then analyzes the separate images to determine which angle each one corresponds to, and finally combines all the images into a single seamless panorama.
Step 1: Tools needed
The first obvious thing is a digital camera. A good SLR is best of course, but some inexpensive point-and-shoot cameras can be used, with a few considerations:
Modern compact cameras let you easily take well-exposed pictures of any scene by managing the sensor, shutter, and lens settings automatically using built-in light metering. This is great most of the time when you're taking individual shots, but if you take two pictures of the same object from different angles, the brightness, focus, and colors might not be the same. Since panoramas require multiple images from different angles to match up perfectly, you need a camera with a manual aperture/shutter/white balance mode. Some cameras (including some Canon and Olympus models) even have a dedicated panorama mode that locks the exposure settings for a series of shots and have a visual guide for overlapping the pictures.
A tripod, while not strictly necessary, makes taking panoramas much easier, especially for very wide scenes or indoors. A pan-head tripod lets you rotate the camera without changing its position, which is surprisingly hard to do with a hand-held camera (at least if you're not thinking about it) Ball-head tripods, like many miniature portable models, don't work as well, since you can't smoothly spin the camera without it moving up or down.
The software part of this project is handled by a few different programs, all of which are free software and available for most operating systems.
Hugin is the program that manages the entire image stitching process. Most of the actual work is done by other programs, but hugin provides a convenient way to call each of them and usually tells you what to do next if you get lost. (http://hugin.sourceforge.net)
Hugin is based on a set of applications and libraries called Panorama Tools, including the libpano library, and the important programs PToptimizer and PTStitcher. Most of panotools is now open source (http://panotools.sourceforge.net/), except PTStitcher. However, there are two replacement programs available: PTmender, available from the panotools website, and nona, which is included with hugin.
Two more applications are not part of panotools but can be used with hugin to make your panoramas look better:
Autopano (or autopano-sift) automates the first step of panoramas, finding control points that tie pairs of images together. You can do this by hand if you have the patience (and you'll probably want to clean up after autopano to get the best result) There are a few different implementations of autopano available, the latest being autopano-SIFT-C (available at the hugin website)
Enblend is another optional tool for improving the final results of not-so-perfect panoramas. Where two images meet in the stitched image, there will often be visible seams or objects that are in slightly different places. Enblend can replace these seams with smooth transitions. Recent versions of enblend also include a related (using some of the same math) tool called enfuse that uses exposure blending to combine images of the same scene at different exposures to create a single simulated high dynamic range image. (http://enblend.sourceforge.net/)
A general-purpose raster image-editing application is useful for final post processing, cropping, or printing of your panoramas. GIMP is a popular free tool suitable for this (http://www.gimp.org/)