• opencv相机标定


     参考:张正友相机标定程序实现

    相机标定目的:建立相机成像几何模型(获取相机内外参)并矫正透镜畸变。

    世界坐标系、相机坐标系、图像坐标系、像素坐标系

    其中,相机坐标系的Z轴与光轴重合,且垂直于图像坐标系平面并通过图像坐标系的原点,相机坐标系与图像坐标系之间的距离为焦距f(也即图像坐标系原点与焦点重合)。像素坐标系平面u-v和图像坐标系平面x-y重合,但像素坐标系原点位于图中左上角。

    棋盘是一块由黑白方块间隔组成的标定板,我们用它来作为相机标定的标定物(从真实世界映射到数字图像内的对象)。之所以我们用棋盘作为标定物是因为平面棋盘模式更容易处理(相对于复杂的三维物体),但与此同时,二维物体相对于三维物体会缺少一部分信息,于是我们会多次改变棋盘的方位来捕捉图像,以求获得更丰富的坐标信息。

     fx,fy是以像素为单位的焦距,

    findChessboardCorners()  检测棋盘格内部角点的位置,为了得到更为精确的角点位置,可以用cornerSubPix()

    cornerSubPix()  The function iterates to find the sub-pixel accurate location of corners or radial saddle points,findChessboardCorners内部调用了cornerSubPix

    find4QuadCornerSubpix()  //finds subpixel-accurate positions of the chessboard corners

    findCirclesGrid()  检测圆形珊格的中心点

    drawChessboardCorners()  在图像上画角点

    calibrateCamera()  相机标定,通过不同视角下的标定板图片计算相机内外参数。

    calibrationMatrixValues()  //Computes useful camera characteristics from the camera matrix.

    drawFrameAxes()    根据估计得位姿画坐标系

    projectPoints()  根据指定的相机内外参数,计算3D点在图像平面的的投影点坐标,可用来评价标定结果。

    initUndistortRectifyMap()  计算畸变映射

    remap()  图片重映射

    undistort() 图像去畸变

    Rodrigues()  旋转矩阵和旋转向量相互转换

    solvePnP(),solvePnPGeneric(),solvePnPRansac(),solvePnPRefineLM(),solvePnPRefineVVS()   根据指定的3D和2D点对,计算物体位姿。

    findHomography()  Finds a perspective transformation between two planes.计算单应性矩阵

    warpPerspective()  Apply a perspective transformation to an image.

    findFundamentalMat()   计算基本矩阵

    findEssentialMat()  计算本质矩阵

    单应性矩阵:描述的是共面点在两个相机视图下的像素点的约束关系,描述的是点与点之间的约束关系,使用单应矩阵可以找到像点在另一幅图像上对应点的确切位置。具有8个自由度

    基本矩阵:描述的是3维场景的对极约束关系,和三维场景的结构无关,只依赖于相机的内参数以及外参数,需要两个相机的位置有旋转和平移。其描述的是点和线的约束关系,当已知图像上的点x1和基础矩阵F时是无法获得对应的像素点下x2的,只能获得x1对应的极线。即基础矩阵表示的是像点和另一幅图像上的对极线的映射关系,使用基础矩阵无法得到像点对应点在另一幅图像上的确切位置。

  • 相关阅读:
    premake Ubuntu下的安装
    android设置eclipse中的自动提示功能
    SharePoint 2013的100个新功能之搜索(二)
    poj 4014 Dice 贪心
    代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧
    Android 英文文档下载地址
    winform网络编程之TcpClient类,TcpListener类和UdpClient类
    Spring Data MongoDB 三:基本文档查询(Query、BasicQuery)(一)
    const对象默觉得文件的局部变量
    springmvc自己定义拦截器
  • 原文地址:https://www.cnblogs.com/larry-xia/p/10916774.html
Copyright © 2020-2023  润新知