fisheye-correction-plus
v0.0.3
Published
A opencv fisheye camera model bindings for Node.js
Downloads
6
Maintainers
Readme
Fisheye camera model
A opencv fisheye camera model bindings for Node.js.
Note
This library it's a modification from https://github.com/sigoden/node-fisheye
Install
install opencv 3.x
For linux
git clone https://github.com/opencv/opencv
mkdir opencv/build
cd opencv/build
cmake ..
sudo make install
For mac
brew tap homebrew/science
brew install opencv@3
brew link --force opencv@3
install npm package
npm install @sigodenjs/fisheye
Usage
Prepare checkboard
Download the checkerboard pattern and print it on a paper (letter or A4 size). You also want to attach the paper to a hard, flat surface such as a piece of cardboard. The key here: straight lines need to be straight.
Take sample photos
Hold the pattern in front of your camera and capture some images. You want to hold the pattern in different positions and angles. The key here: the patterns need to appear distorted in a different ways (so that OpenCV knows as much about your lens as possible).
Find K and D
let imgs = fs
.readdirSync('example/samples')
.map(file => fs.readFileSync('example/samples/'+file));
let {K, D} = fisheye.calibrate(imgs, 9, 6);
Undistort image
let img = fs.readFileSync('example/samples/IMG-0.jpg');
let buf = fisheye.undistort(img, K, D);
fs.writeFileSync('/tmp/IMG-0.jpg', buf);
-->
License
Copyright (c) 2018 sigoden
Licensed under the MIT license.