Monday, May 10, 2010

Software for Unwrapping Omnidirectional Images

Untitled - 2

A small application for unwrapping omnidirectional images using polar to Cartesian coordinate conversion. The size and aspect ratio of the produced images can be adjusted and the application performs bilinear or bicubic interpolation in order to improve the quality. The center of the omnidirectional image can be detected automatically using either a very simple and fast algorithm based on image thresholding or a slower but much more robust method based on edge detection and Hough transform. An example of using the second method is shown below.

Untitled - 3

Videos presenting sequences of unwrapped omnidirectional images taken from the COLD database can be downloaded here, here and here.
Download, installation and usage instructions for both Linux and Windows can be found below. If you have any questions, you experience problems with the software or you have spotted a bug, please contact Andrzej Pronobis.

Download and Installation

The application is known to compile in both Linux and Windows and depends on the OpenCV library. The source code can be downloaded either as a tar.gz file (for Linux users) or zip file (for Windows users):
   • Tar/gzip file (443.46 kB)
   • Zip file (446.30 kB)
Binaries for both operating systems are also available:
   • Linux binary (449.10 kB)
   • Windows binary (584.34 kB)
CMake is used as a build system for the sources. Windows users can install MinGW to get a C++ compiler. To build from the sources, use either the '' or 'build.bat' script.


  • Estimating the center of the image using the thresholding-based method. 5 pixel boundary on top and bottom of the input image is excluded:
    unwrap -tc 30 -eb 0 5 0 5 -fi filtered.jpg 40 230 input.jpg
  • Estimating the center of the image using the edge-based method. Two "debug" images are created:
    unwrap -ec 230 240 330 240 20 20 -fi filtered.jpg -ti test.jpg 40 230 input.jpg
  • Unwrapping using fixed center and no interpolation or scaling:
    unwrap -uw output.jpg -fc 330 240 40 230 input.jpg
  • Unwrapping using automatic center point detection and bicubic interpolation:
    unwrap -uw output.jpg -ec 230 240 330 240 20 20 -bc 40 230 input.jpg
  • As above, but with vertical resolution of the output increased 2x:
    unwrap -uw out.jpg -ec 230 240 330 240 20 20 -bc -sy 2 40 230 in.jpg

No comments: