1 多相机标定
  1.1采集图像和IMU
  1.2制作Bag包
  1)组织文件结构
    ~/kalibr_workspace/test/stereo_calib
      bagsrc
        cam0
          (1+time(0))*1e9.tif     //只支持png图像
          (2+time(0))*1e9.tif   //图像名只能数字组成
          (999+time(0)).tif        //图像名长度为19位
        cam1                //不同相机获得的图像名必须一一对应
          (1+time(0))*1e9.tif
          (2+time(0))*1e9.tif
          (999+time(0)).tif
        cam2
          (1+time(0))*1e9.tif
          (2+time(0))*1e9.tif
          (999+time(0)).tif
        cam3
           (1+time(0))*1e9.tif
           (2+time(0))*1e9.tif
           (999+time(0)).tif
      bagdst
  2)cd ~/kalibr_workspace/test/stereo_calib
  3)source ~/kalibr_workspace/devel/setup.bash
  4)kalibr_bagcreater
    --folder bagsrc
    --output-bag calib.bag
  1.3建立关于标定板信息的calib.yaml文件
  1)对于april板.yaml文件格式如:
    target_type: 'aprilgrid'      #gridtype
    tagCols: 6            #number of apriltags
    tagRows: 6            #number of apriltags
    tagSize: 0.088         #size of apriltag, edge to edge [m]
    tagSpacing: 0.3         #ratio of space between tags to tagSize,实际上就是小黑块与大黑块的边长之比
                     #example: tagSize=2m, spacing=0.5m --> tagSpacing=0.25
  2)对于checkboard板.yaml文件格式如:
    target_type: 'checkerboard'      #gridtype
    targetCols: 6            #number of internal chessboard corners
    targetRows: 7          #number of internal chessboard corners
    rowSpacingMeters: 0.06       #size of one chessboard square [m]
    colSpacingMeters: 0.06      #size of one chessboard square [m]
  3)对于circle板.yaml文件格式如:
    target_type: 'circlegrid'     #gridtype
    targetCols: 6          #number of circles (cols)
    targetRows: 7          #number of circles (rows)
    spacingMeters: 0.02       #distance between circles [m]
    asymmetricGrid: False        #use asymmetric grid (opencv) [bool]
  1.4执行标定
  1)cd ~/kalibr_workspace/test/stereo_calib
  2)source ~/kalibr_workspace/devel/setup.bash
  3)kalibr_calibrate_cameras
    --target calib.yaml
    --bag calib.bag
    --models pinhole-equi pinhole-equi omni-radtan omni-radtan
    --topics /cam0/image_raw /cam1/image_raw /cam2/image_raw /cam3/image_raw
  1.5提取Bag包
  1)cd ~/kalibr_workspace/test/stereo_calib
  2)source ~/kalibr_workspace/devel/setup.bash
  3)kalibr_bagextractor
    --image-topics /cam0/image_raw /cam1/image_raw /cam2/image_raw /cam3/image_raw
    --output-folder bagdst
    --bag calib.bag

2 多IMU标定

3 相机-IMU标定

相机标定:kalibr标定工具箱使用总结的更多相关文章

  1. VIO系统的IMU与相机时间偏差标定

      视觉里程计(VIO)作为一种空间定位方法,广泛应用于VR/AR.无人驾驶和移动机器人,比如近年火热的苹果 AR-Kit和谷歌AR-Core都使用了VIO技术进行空间定位.通常,VIO系统忽略IMU ...

  2. 基于OpenCV单目相机的快速标定--源码、工程、实现过程

    相机的标定是所有人走进视觉世界需要做的第一件事,辣么多的视觉标定原理解释你可以随便在网上找到,这里只讲到底如何去实现,也算是给刚入门的朋友做个简单的分享. 1.单目相机标定的工程源码 首先请到同性交友 ...

  3. 张正友相机标定Opencv实现以及标定流程&&标定结果评价&&图像矫正流程解析(附标定程序和棋盘图)

    使用Opencv实现张正友法相机标定之前,有几个问题事先要确认一下,那就是相机为什么需要标定,标定需要的输入和输出分别是哪些? 相机标定的目的:获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的 ...

  4. 【双目备课】《学习OpenCV第18章》相机模型与标定整编

    一.相机模型 针孔模型.在这个简单模型中,想象光线是从场景或一个很远的物体发射过来的,但只有一条光线从该场景中的任意特定点进入针孔. 我们将这个图像进行抽象,就能够得到这样的结果: 其中,f为像到针孔 ...

  5. 相机标定简介与MatLab相机标定工具箱的使用(未涉及原理公式推导)

    相机标定 一.相机标定的目的 确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,建立摄像机成像的几何模型,这些几何模型参数就是摄像机参数. 二.通用摄像机模型 世界坐标系.摄像机坐标 ...

  6. 相机标定问题-Matlab & Py-Opencv

    一.相机标定基本理论 1.相机成像系统介绍 图中总共有4个坐标系: 图像坐标系:Op    坐标表示方法(u,v)                 Unit:Dots(个) 成像坐标系:Oi      ...

  7. 相机标定过程(opencv) + matlab参数导入opencv + matlab标定和矫正

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 辛苦原创所得,转载请注明出处 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...

  8. OpenCV相机标定和姿态更新

    原帖地址: http://blog.csdn.net/aptx704610875/article/details/48914043 http://blog.csdn.net/aptx704610875 ...

  9. SLAM入门之视觉里程计(6):相机标定 张正友经典标定法详解

    想要从二维图像中获取到场景的三维信息,相机的内参数是必须的,在SLAM中,相机通常是提前标定好的.张正友于1998年在论文:"A Flexible New Technique fro Cam ...

随机推荐

  1. Windows Container 和 Docker:你需要知道的5件事

    微软在2016年的Ignite技术大会上正式发布了Windows Server 2016,其中的容器服务已经可以作为生产环境使用.这意味着Windows 内置的容器服务正式进入了大家的视野,虽然之前我 ...

  2. experss框架—基础认识

    express简介: Express是一个简洁.灵活的node.js Web应用开发框架, 它提供一系列强大的功能,比如:模板解析.静态文件服务.中间件.路由控制等等,并且还可以使用插件或整合其他模块 ...

  3. 获取app崩溃信息的途径 iOS

    获取崩溃日志的几种方法: 1.当用户抱怨闪退时,你可以要求他让设备与iTunes同步,设备与电脑上的iTunes Store同步后,会将崩溃日志保存在电脑上(路径:Mac OS X:~/Library ...

  4. .NET Core在WindowsServer服务器部署及发布

    VS使用WEB DEPLOY发布.NET Core程序   背景是这样的,公司有两台服务器,平时一台备用,另一台做为主生产机器.当有大量补丁或者安装什么东西需要重启的时候,交其中一台直接关掉IIS,然 ...

  5. js实现菜单折叠导航

    <style type="text/css"> <!-- *{margin:0;padding:0;border:0;} body {  font-family: ...

  6. JS验证电话号是否合法

    /******************** 函数名称:IsTelephone 函数功能:固话,手机号码检查函数,合法返回true,反之,返回false 函数参数:obj,待检查的号码 检查规则: (1 ...

  7. css控制图片与文字对齐

    文字旁边搭配图片时,发现图片比文字靠上,原来默认的情况是图片顶对齐而文字底对齐,通过设置css属性可以使得图片与文字对齐. 设置各对象的vertical-align属性,属性说明:baseline-将 ...

  8. HTML5 File接口(在web页面上使用文件)

    File接口提供了与文件相关的信息,并且运行JavaScript在web页面上去访问文件中的内容. File对象来自于用户使用input标签选择文件返回的FileList对象,来自于拖放操作的Data ...

  9. 关于Mysql的索引

    索引是指把你设置为索引的字段A的内容储存在一个独立区间S里,里面只有这个字段的内容.在找查这个与这个字段A的内容时会直接从这个独立区间里查找,而不是去到数据表里查找.找到的这些符合条件的字段后再读取字 ...

  10. HttpClient 工具

    什么是httpclient HTTP 协议可能是现在 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.虽然在 JDK 的 ja ...