home

General Rectification Code for Image Pairs

GeneralRect is a C++ library with full source code for the rectification of any pair of images for which the epipolar geometry can be determined. The library is an implementation of the method in the paper

D. Oram "Rectification for any epipolar geometry" 12th British Machine Vision Conference (BMVC 2001), September 2001

This method can be used for any pair of images for which an epipolar geometry can be determined. Unlike other general methods it attempts to minimise inter image distortion caused by the rectification process as well as selecting a reasonable plane in terms of image content for points of zero disparity to lie on. This later process will hopefuly ensure the maximum and minimum disparity required for dense matching algorithms to function is roughly centred on 0 (instead of being arbitrary).

The library is designed for reuse, and has been succesfuly compiled with both gcc and Visual Studio. Full details of how to plug it in are provided in the USAGE.txt file contained within the archive, and a very basic example application is given.

GeneralRect is fairly well tested, but currently does not support infinite epipoles in both images. If I get any feedback regarding it's use I will add this, and include an implementation of a non general rectification method that is used when appropriate.

Download as .zip or as .tar.bz2. NOTE: this library must be linked with clapack (http://www.netlib.org/clapack/)

email: dan@dan-oram.co.uk