How to make stitched panoramas with Hugin

I'm unsatisfied with the present set of tutorials out there about how to make panoramas, so I thought I'd write my own. Most of the tutorials were written using many of the assumptions that old software enforced upon you. Modern stitching software is leaps and bounds above that and Hugin has become very modern very recently.

I am writing this assuming you have a decent camera (point-and-shoot cameras are perfectly OK) and are running Hugin 0.7. Hugin is free and you probably already have a camera.

Composing a panorama

Shooting panoramas is pretty much like shooting a super-wide-angle lens. It's actually 50 times trickier than you think. See, if you shoot with anything in the "normal" range, you'll invariably end up wishing that you could squeeeeze just a little more of the scene in. When you actually get that super-wide-angle lens or start stitching panoramas, you rapidly discover that if you can squeeze in those extra bits, all you get is something that's totally boring.

The trick to a panorama is to effectively communicate the idea of *being* there.

So if there are two points of interest that you'd like to show, maybe it's better to take two shots and compose each of those shots correctly.

Also, don't constrain yourself to taking a horizontal panorama. Some of my best panoramas have been wide expansive rectangular views or vertical panoramas.

Shooting a panorama

This has become much easier, so much so that you can handhold the camera and get decent results. You don't need the panorama mode in your camera. In fact, it gets in the way.

There are a few things that you can do that will make the whole process run more smoothly.

First, you don't want anything to change unless you want it to. So you want to fix your exposure, focusing distance, white balance and pretty much anything else at the start. This is what the "Panoramic" mode is designed to do, but I find that it gets in the way more often than not.

Second, it is important that you turn the camera as close as possible to the no-paralax point, often called the "nodal point". I've found that you can get away most of the time without being perfect, but if you are way off, things in the foreground aren't going to line up very well.

Third, it is important that you capture the scene in an orderly fashion. You don't need to shoot in a grid or a row; the software is smarter than that. You don't need to make sure the camera is perfectly level; as long as you can level the image later, it's OK. But you don't want to shoot the perfect panorama and then discover that you've got a big blot in the center where you didn't take any pictures.

Also, you usually do want to shoot with the camera on the side ("portrait orientation") because the narrower edges are usually sharper with less optical aberrations.

Fourth, you want to get a decent amount of overlap. The ideal, I think, is such that if you didn't notice that somebody walked into your frame, you can delete that single image without leaving an empty section in your image. You also want to make sure that you capture beyond what you want to have in the finished picture, to leave room for cropping and slop. This also makes the process of aligning the frames easier, plus most lenses have better image quality towards the center.

Fifth, you want to make sure you record more than enough of the scene. What you will rapidly find is that once you've tilted and captured and tiled the scene, you can easily risk getting totally jagged edges... and especially jagged edges in places that you really don't want them. It's better to take extra shots along the side to make sure that you can crop it properly.

Now, let's say that you are shooting a complete panorama, pivoting around the scene. A lot of the tricks you would otherwise use to ensure the scene is properly exposed (flash, graduated neutral density filter, polarizer) simply don't work. There are a few ways to make this work better, so if you want, you can take bracketed shots up and down the exposure scale. Hugin will merge them.

I can and have taken a perfectly good panorama with the camera in my hand. Don't be scared or think you need specialized gear!

Loading the images

Now, collect all of the pictures you took and launch Hugin. On my setup, I just drag the icons onto the Hugin window and it does the rest.

If you are shooting RAW, there's extra steps, but none of my cameras shoot RAW.

Generating control points

Pic 1: The "Assistant" tab

There's a few sub-steps here that Hugin can take care of for you. I'm a little pickier, so I'm going to lead you through them.

The first step along the process of stitching a panorama is generating a set of "control points" where a control point represents the same spot in the physical world in a pair of images. Hugin comes with Autopano-SIFT. This means that it will generate control points for you.

The second step is taking those matched control points and generating an approximate solution.

Thus, generally first thing I do after I've got the images loaded is letting Autopano work on the image and pick a bunch of points and then make a rough go at the panorama. From the "Assistant" tab, I just hit the "Align" button.

You may see clear discontinuities. If it's just that there's a line where it's darker on one side, that's going to be fixed by the blending. If it's a line where the horizon went jagged, that means that there are some points that are all mixed up.

You can also see in the "Assistant" tab how well of a match the software thinks it got.

Fixing up the stitch

Pic 2: Example of a very bad control point

Now, Autopano-SIFT is perfectly able to generate hideously wrong control points. Thus, the next thing I'll do is open up the "Control Points" window and sort it by distance and then check by hand the control points with a high distance.

Then I switch to the "Control Points" tab and examine the pictures in order, making sure that there are plenty of control points. If I see a section of the image that doesn't have many control points, I'll pick out a significant feature in the scene to make a control point out of.

This is where being orderly with your shooting comes in handy. If the even shots are aimed low and the odd shots are aimed high, I can go through both the high/low pairs and the left/right pairs quickly. This is also where having more overlap comes in handy, because that means that it'll be that much easier for the software to match things up.

After I've deleted bad control points and added new control points, I'll run it through the optimizer again.

Usually I'll check the preview and maybe see if one image needs to be rejected. I'll also mess around with the composition and type of projection while I'm at it.


Now, remember how I said earlier that you can bracket? Well, let's say you fed in a bracketed set of images to the stitcher. In the process of generating and matching control points, the bracketed images are going to already be aligned.

You can go to the "Exposure" tab and have it figure out a model for the exposure.

There are two ways to go from here. The first is to create an HDR scene. The lighting is extracted from the bracketed shots and used to generate a single merged image with high dynamic range. From there, you can use a HDR program to map it to the visual space.

I don't like HDR. It's great for nasty garish-looking scenes.

There's a second way to do this. You can have the software "enfuse" the scene. See, unlike HDR, it doesn't actually generate a single merged image. It starts with exposure layers and then generates a weighting to blend the different exposure layers to a final image such that the blown-out or blocked-up sections of the image are not included but the evenly-exposed sections are while preserving the shadows and highlights. Thus, you end up with something that's a lot more realistic looking.

Finally, even if you haven't taken bracketed exposures, you can still equalize the exposure, which means it will bring up the exposure of the shadowy sections.


Pic 3: The stitching pane

Once you've made all of the adjustments, go into the final tab and set your stitching parameters. Here's where you can tell Hugin to do a HDR or Enfused panorama.

You can also have the software preserve some of the intermediate steps such that you can fix things up in Photoshop.

Finally, it's also a good idea to save your stitching project. This means that if you get partway through editing the image and discover something is not quite right, you can go back and adjust the stitching.

Stevens Creek Reservoir


I've found that the liberating feeling of knowing that it's more likely to stitch than to not stitch has caused me to be more ambitious.

For example, earlier I'd take a few shots in a single strip. Now I take usually two or three strips and often up to 40 individual frames. And I'll include the foreground.

I've got some super-ambitious projects in mind, but I think it'll work best if I coax a few certain somebodies who are known to have posed in fishnets for pancakes in the past over.

Recently added Photos: