As you can expect, the most complicated bit is the code that does the actual matching of the photos. Some very smart people (not me: I’m talking about you, Andy) spent a lot of time making sure that it can stitch most panoramas automatically. When we started writing it, we set a requirement spec of stitching 95% of panoramas without the need for repair. We used a corpus of over 100 panoramas to test this. These were all random panoramas that we’d previously shot for clients, so there was quite a mix of stuff in there. However, they were all shot using a tripod or monopod, and they were all shot in portrait orientation, i.e. with the camera vertical. This is the way to get the best results, as it gives a better vertical field of view than if the camera was horizontal.
One thing that was common to all of them, however, was that they were taken by people (once again, not me) who are very used to taking panoramic photos. This means that they are probably “best case” panoramas, and it’s likely to have a lower success rate in the “real world”. There are however some simple steps that can be taken which will dramatically increase the chances of getting a perfect stitch.
The single biggest error with most panoramas is down to not keeping the camera level. If it is tilted, then once you have completed a full circle, the ends won’t match up. In order to avoid big black areas, the stitcher has to crop the panorama vertically, which can in the worst cases lead to an unusably narrow panorama. This is quite simple to avoid. The easiest way is to use a tripod with a spirit level, but most of us don’t carry these around with us! You can still get great results with it hand-held, especially if your camera has “stitch assist” mode. On a Canon, this is just a case of selecting the this setting on the dial: This lets you easily align each photo. All you need to do then is make sure you hold the camera close to you (I tuck my elbows in against my body, holding the camera about 20cm from my face) and that you stand in roughly the same spot as you turn.
This way you can get some very good results hand-held. One of the first panoramas on here is one I shot when I was on holiday a few weeks ago. You can see it here. While not the greatest panorama in the world (I’m not even close to being a good photographer) it does show how you can get an excellent stitch quite easily. I shot it handheld (after a few drinks!) with a cheap Powershot and did no adjustments or repairs to the stitch.
Lasm has done a good tutorial on shooting panoramas which is worth a read. It’s a general one, so some of the stuff won’t apply to CleVR, but it’s good for tips.