Omnidirectional camera calibration toolbox
This package consists of three parts.
- omnidirectional camera calibration
- random pattern calibration object
- multiple camera calibration
- OpenCV 3.0
This package is selected as a project in GSoC 2015 of OpenCV, mentored by Bo Li. This repository is a standalone project during my development, you may notice that the directory structure is the same as OpenCV. Now, it is merged into OpenCV's opencv_contrib repository. You can use it by compiling OpenCV with opencv_contrib or adding source files and include files in this repository to your project.
Add files in
include to where they should be, it depends on your development environment.
For omnidirectional camera calibration, use function
omnidir.cpp. This is API is fully compatible with OpenCV's
For random pattern calibration object, use class
For multiple camera calibration, use class
multicalib.cpp. So far, multiple camera calibration only support random pattern object. The name of calibration images are required to be "cameraIdx-timestamp.*" and cameraIdx starts from 0. Other name rules will not work!
samples directory, there are several samples that describe how to use these APIs. These samples are something like samples in OpenCV, i.e., they are some programs that can be directly used for your application like calibration. Data to be used to run samples is in
tutorial directory, step by step tutorials are given.
This is a video that shows some results of this package.
Revise the API of multiple camera calibration to be more general so that object points and image points from each camera and view are given.