zoukankan      html  css  js  c++  java
  • 相机标定和坐标变换

    环境:opencv2.4.9 ,vs2013
    方法:张正友标定法
    github地址:
    https://github.com/xsfmg/findslope

    标定

    通过相机的标定得到相机内参和外参和畸变系数。
    内参矩阵

    • 一般用A或者M1表示。内参矩阵含有相机的固有参数(fx,fy,Cx,Cy),fx,fy(单位:像素)与dx,dy(x,y方向一个像素的物理尺寸,单位:毫米/像素)和焦距f(单位:毫米)有关。 Cx,Cy为图像原点相对于光心成像点的纵横偏移量(单位:像素)。
    • 相机坐标系转图像坐标系
    • 3D恢复

    外参矩阵

    • 一般用[R|T]表示,R表示旋转矩阵,T为平移矩阵。不同的棋盘图对应不同的旋转矩阵和平移矩阵。因为每一副图像对应的世界坐标系相对应与相机坐标系是不一样的。
    • 世界坐标系转相机坐标系
    • 图像校正(倾斜,平移)

    畸变系数

    • 一般用[p1,p2,p3,k1,k2]表示,p1,p2,p3是相机的径向畸变系数,k1,k2是相机的切向畸变系数。
    • 图像矫正(T型畸变,鱼眼图像等)

    标定步骤

    • 拍摄棋盘图,越多越好,一般10张就可以,10张必须符合所有角点都能检测到才算合格棋盘图。
    • 标定程序计算并保存相机内参和外参和畸变系数矩阵,
    • 运用三个矩阵解决实际问题。只要相机的角度和焦距固定,位置可以移动,那么内参矩阵和畸变系数是不会改变的。

    注意:
    单目标定的外参矩阵,运用只能对应相应的棋盘的世界坐标系。
    双目标定可以确定唯一的外参矩阵。

    坐标系

    相机坐标系

    以光心为相机坐标系的原点,以平行于图像的x和y方向为Xc轴和Yc轴,Zc轴和光轴平行,Xc,Yc,Zc互相垂直,单位是长度单位.

    图像物理坐标系

    可以认为是相机坐标系z轴方向的投影图。以主光轴和图像平面交点为坐标原点,注意:不一定是图像的中心点,根据Cx和Cy知道偏移了多少像素。图像物理坐标系x和y方向单位是长度单位。

    图像坐标系

    以主光轴和图像平面交点为坐标原点,x和y方向单位是像素单位。

    世界坐标系

    物体在真实世界中的坐标,比如黑白棋盘格的世界坐标系原点定在第一个棋盘格的顶点,Xw,Yw,Zw互相垂直,Zw方向就是垂直于棋盘格面板的方向。可见世界坐标系是随着物体的大小和位置变化的,单位是长度单位。只要棋盘格的大小决定了,无论板子怎么动,棋盘格角点坐标一般就不再变动(因为是相对于世界坐标系原点的位置不变),且认为是Zw=0。

  • 相关阅读:
    GITHUB常见命令
    GITHUB常用命令
    java构建简单的HTTP服务器
    是否会被锁
    GITHUB使用指南
    GITHUB使用指南、
    C#
    金蝶后台表对应
    金蝶K3表
    nodejs nodejs的操作
  • 原文地址:https://www.cnblogs.com/xsfmg/p/5993759.html
Copyright © 2011-2022 走看看