This page provides an implementation of our generalized (or raxel) camera calibration algorithm presented as

Mai Nishimura, Shohei Nobuhara, Takashi Matsuyama, Shinya Shimizu, and Kensaku Fujii: A Linear Generalized Camera Calibration from Three Intersecting Reference Planes, ICCV2015.

The motivation of this project is to estimate the 3D shape of an underwater object in a curved (cylindrical / spherical) water tank using multiple cameras. To triangulate points in water, each camera pixel must be associated with a corresponding 3D ray in water. This is known as generalized or raxel (ray-pixel) camera model, and this paper provides a linear calibration technique that returns such ray-pixel mappings.

What is provided in the code?

The code provides an implementation of our linear calibration with a test data. Please read texts in the code for details.