Hugin is the GUI frontend for a bunch of image tools that allow you to stitch together multiple pictures with overlapping scenes to create a single panoramic images.
The images don’t have to be the *exact* same color or from the same perspective. The image tools will manipulate the pictures in an attempt to smoothly blend everything into a single scene. You can create different kinds of stitched together images such as 360 degree fish eye and super wide angle views.
If you do a good job of taking multiple photos that are easily overlapped, the wizard will usually do all of the work without any intervention. For scenes that were taken from slightly different perspectives or where the focus or colors change a great deal, you can usually add a few additional control points to get decent results.
A control point is the location of a pixel on one image that corresponds to the same point on another image. If several control points are along the top of one image and their matching points are along the bottom of another, you can easily understand how the program will just know the correct orientation. Even if it loads one image upside down, matching up the points will match it stitch properly. (top/bottom would also be in reverse order from left to right if one image was upside down)

The panorama above was created from six photos taken at the HIM concert in Amsterdam, March 2010.
This is the left-bottom image. Each picture started as a 2560×1920 jpeg from a simple point and shoot camera. The panorama is actually 5120×5760 but it’s been shrunk and cropped for this example.
Start by loading at least two images. Four or more make a really nice 360 degree fisheye view. Then click “align” to calculate a bunch of control points. If there are enough points found based on the thresholds for what it determines is a match, go ahead and click Create panorama. Give it a file name and click save. After a minute or two of processing you’ll have an output image. The default is tiff using the geometry of all imput images combined, but you can save it as a jpeg or png with custom size, cropping, and output projection from the stitcher tab.
Before saving, try changing the projection. You can create different types of panoramic views including fisheye, wide angle, rectangular, and many more.

If the output didn’t look quite right, go back and manually create some additional control points. Try to spread them out into the corners of the image, it’s easiest to use contrasting areas of light and shadow.
Now go back and click “align” again and you’ll get a preview. If it’s anywhere near half-way decent, try creating the panorama. It always turns out better than the quick preview. The colors usually don’t match and sometimes there will be jagged lines visible, but ignore that. Saving the calculated output is the only way to tell if it’s matched up correctly.
1. Load images
2. Align
3. Create panorama
Checking nona...[OK] Checking enblend...[OK] Checking enfuse...[OK] Checking hugin_hdrmerge...[OK] Checking exiftool...[OK] nona -z PACKBITS -r ldr -m TIFF_m -o wtf -i 0 /tmp/huginpto_8OGsM9 nona -z PACKBITS -r ldr -m TIFF_m -o wtf -i 1 /tmp/huginpto_8OGsM9 enblend --compression 100 -f2643x5711 -o wtf.jpg wtf00.tif wtf01.tif Loading next image: wtf0000.tif Loading next image: wtf0001.tif Creating blend mask: 1/4 2/4 3/4 4/4 Optimizing 1 distinct seam. Strategy 1, s0: 1/4 2/4 3/4 4/4 Strategy 2: s0 Using 7 blending levels Generating Gaussian pyramid: g0 g1 g2 g3 g4 g5 g6 Generating Gaussian pyramid: g0 g1 g2 g3 g4 g5 g6 Generating Laplacian pyramid: l0 l1 l2 l3 l4 l5 l6 Generating Gaussian pyramid: g0 g1 g2 g3 g4 g5 g6 Generating Laplacian pyramid: l0 l1 l2 l3 l4 l5 l6 Blending layers: l0 l1 l2 l3 l4 l5 l6 Collapsing Laplacian pyramid: l6 l5 l4 l3 l2 l1 l0 Writing final output...
Hugin can be found in the standard Fedora repositories. Install hugin and autopano for easy mode. Without autopano you have to setup the control points on your own.
$ sudo yum install hugin autopano-sift-C