GithubHelp home page GithubHelp logo

calibtool's Introduction

项目介绍

这是一个用于棋盘格标定的算法库,适用于方棋盘格标定和圆棋盘格标定,同时为Python和C++两种语言提供了标定功能。

项目环境

  • Ubunutu 20.04
  • gnu 9.4.0

C++ 附加依赖

  • OpenCV 4.5.5
  • Boost

Python 附加依赖

  • opencv-python 4.x
  • numpy 1.20.x
  • argparse
  • tqmd

系统构建

Python直接使用即可,C++需要使用sh文件

cd ${yourproject}/calibC++
sh build.sh

使用方法

C++

这里只介绍最新版本的用法,旧版本详情请看calibC++/README.md

单目

使用如下命令行

./calibC++/Example/monocalib -r ${root_dir} -h ${board_height} -w ${board_width} -o ${output_dir} -s ${squre_size} -v
# for example
./calibC++/Example/monocalib -r ../data/left/ -h 6 -w 9 -o ./param -s 20 -v

你可以使用--help选项来查看帮助信息

./calibC++/Example/monocalib --help

双目

如下命令行

./calibC++/Example/stereocalib -l ${left_dir} -r ${right_dir} -h ${board_height} -w ${board_width} -s ${squre_size} -o ${output_dir} -v
# for example
./calibC++/Example/stereocalib -l ../data/left/ -r ../data/right/ -h 6 -w 9 -s 20 -o ./param -v

你同样可以使用--help选项来查看帮助信息

./calibC++/Example/stereocalib --help

校正

# monocular
./calibC++/Example/rectify -l ../data/left/1.jpg -p ./param/mono.yaml
# stereo
./calibC++/Example/rectify -l ../data/left/1.jpg -r ../data/right/1.jpg  -p ./param/stereo.yaml 

Python

单目

# 针孔相机模型
python calibpython/monocalib.py -r ${root_dir} -bs ${nx} ${ny} -s ${distance} -rs ${rx} ${ry}
# 鱼眼相机模型
python calibpython/monocalib-fisheye.py -r ${root_dir} -bs ${nx} ${ny} -s ${distance} -rs ${rx} ${ry}
# 全向相机模型
python calibpython/monocalib-omnidir.py -r ${root_dir} -bs ${nx} ${ny} -s ${distance} -rs ${rx} ${ry}

如果你需要其他的一些功能,可以添加-h选项,查看可选参数

python calibpython/monocalib-{camera_sensortype}.py -h

使用图像数据集目录在 ./data ,棋盘格规格6 X 9,亚像素角点查找半径为7 X 7 ,棋盘格尺寸为 $20$ mm ,则

# 使用示例数据
python calibpython/monocalib.py -r ./data/left -bs 6 9 -s 20 -rs 7 7 -so -sp param/mono.yaml -sd

双目

# 针孔相机模型
python calibpython/stereocalib.py -l ${left_root_dir} -r ${right_root_dir} -bs ${nx} ${ny} -s ${distance} -rs ${rx} ${ry}
# 鱼眼相机模型
python calibpython/stereocalib-fisheye.py -l ${left_root_dir} -r ${right_root_dir} -bs ${nx} ${ny} -s ${distance} -rs ${rx} ${ry}
# 全向相机模型
python calibpython/stereocalib-omnidir.py -l ${left_root_dir} -r ${right_root_dir} -bs ${nx} ${ny} -s ${distance} -rs ${rx} ${ry}

同样的可以选择附加选项 -h

python calibpython/stereocalib.py -h

使用示例数据

# 针孔相机模型
python calibpython/stereocalib.py -l ./data/left -r ./data/right -bs 6 9 -s 20 -rs 13 13 

calibtool's People

Contributors

5p6 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.