Panorama stitchers, feathering, seaming etc..

Bruno Postle bruno at postle.net
Tue Oct 7 21:45:25 BST 2003


I've been thinking about panorama stitchers, problems with the
existing PTStitcher feathering technique and ways to make it better.

This is an idea for a stitching/feathering system; I'm not
suggesting that anyone should run off and write an implementation,
but it's best to put these ideas in the public domain.

The basic idea is to assign a 'credibility' index to every pixel in
each source photograph and use this to decide which pixels to render
when seaming.

The default would be to give 255 credibility to pixels in the centre
of each photo ranging down to 1 for pixels at the edges - This
information can be stored in the alpha channel.

When the images are warped, the credibility channel should get
remapped at the same time as the other RGB channels.

The process of flattening the image would be quite different to the
normal system of merging layers with alpha channels; taking one
pixel at a time:

  -  If there is only one layer at that point, then use that pixel
     value in full.

  -  If there is more than one layer with suitable pixel values,
     then use the credibility indexes of the overlapping pixels to
     weight them and merge.

This should give a naïve feathering that will span the entire area of
overlap, rather than just a specific width.

Some more logic could deal with mismatches between source images
such as people who move around between shots:

  -  If the pixel values of the layers differ significantly, draw
     only the pixel with the highest credibility.

-- 
Bruno


More information about the ptX mailing list