Here is two camera models commonly used in SLAM/VO, it consists of MEI and Pinhole. It can rectify image or points, lift from pixel to unit plane and project from world to pixel. It gives both implementation based on OpenCV and no-OpenCV, so that we can explore all of the algorithm.
More details see blog
It's tested in Ubuntu 16.04
OpenCV 3.2.0 is used in the code.
we use Eigen 3.2.29.
This is used to record log in log
folder.
sudo apt-get install libgoogle-glog-dev
After clone, run:
mkdir build
cd build
cmake ..
make
The calibration files are stored in calib
folder, and the format of yaml can refer to the examples.
The images are stored in data
folder.
We can test the code using commands:
./bin/test ./calib/cam0_tumvio_mei.yaml ./data/1.png
After finish running, corrected image will be put to data
folder, and name format is:
original name + _ undist _ + model(pinhole or mei) + original extension
Examples:
hello.jpg ==> hello_undist_mei.jpg