Giter Club home page Giter Club logo

camera-calib-opencv's Introduction

相机标定

一、依赖与安装

1.1 依赖与环境

OpenCV + windows or ubuntu

1.2 生成

mkdir build && build
cmake ..
make

1.3 demo

  • 单目棋盘格标定

./chessboard_calib ../imgs/chessboard/ ../imgs/chessboard/

  • 单目对称圆点标定

./circle_board_calib

注意:

  1. 对于圆点标定板,需要用BLOB斑点检测器检测斑点,进而获取圆心。然而Blob检测器检测正确与否非常依赖检测参数的设置
  2. 对OpenCV API calibrateCamera可以设置标定算法选项,引入若干先验,比如固定k3=0,固定光心,固定p1,p2=0等。

二、介绍

相机标定本质上是设计R3中已知尺寸的平面图案,使得其投影到图像后特征点具有显著性,容易被算法检测。接着通过构造三维空间和图像中的3D-2D匹配点对,计算投影矩阵Hi = K[r1i, r2i, ti] (令平面上点在世界坐标系中Z=0)。接着可以利用r1,r2的正交约束和归一化约束,一个投影矩阵得到两个方程:

  1. h2iK-TK-1h1i = 0

  2. h1iK-TK-1h1i = h2iK-TK-1h2i

由于内参具有5个未知量,因此至少需要三幅正确检测特征点的图像。求出内参后,用LM非线性优化算法计算畸变参数。

常见的相机标定板有四种,分别是棋盘格,对称圆点标定板、非对称圆点标定板和ChArUco板。对应特征点检测算法分别检测角点(鞍点)、投影椭球中心、投影椭球中心、棋盘格与ArUco的角点。

从外到内分别是对称圆点、非对称圆点、棋盘格和ChArUco标定板

OpenCV支持四种标定板的标定(Matlab2021之前的版本只支持棋盘格),本仓库代码是C++ OpenCV对应官方标定例子的总结。

三、参考资料

[1] OpenCV对称圆点标定

[2] CSDN-ChArUco

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.