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. angular 输入框实现自定义验证

    此插件使用angular.js.JQuery实现.(jQuery的引入需在angular 之前) 用户可以 在输入框输入数据后验证 必填项.整数型.浮点型验证. 如果在form 里面的输入框验证,可以 ...

  2. JavaWeb验证码的使用

    在Java Web开发中,我们经常需要使用到验证码功能,一般情况下,我们可以将产生的验证码保存到服务器端中的session中,这种方式中,是使用服务器来保证验证码的功能.另外,我们也可以采用js产生验 ...

  3. HTML学习二

    继续上一次的学习: <html> <head> <title>新增雇员</title> <script language="javasc ...

  4. jQuery源码学习:Sizzle

    本文所有讨论均基于jQuery版本3.1.1,官网http://jquery.com/. 一 简介 Sizzle是用javascript实现的CSS selector engine,官网见https: ...

  5. 【整理】图解隐马尔可夫模型(HMM)

    写在前面 最近在写论文过程中,研究了一些关于概率统计的算法,也从网上收集了不少资料,在此整理一下与各位朋友分享. 隐马尔可夫模型,简称HMM(Hidden Markov Model), 是一种基于概率 ...

  6. java基础之路(二)上

    &和&&的区别 我们今天就来说一下&与&&运算符的区别 &运算符有两种用法:(1)按位与:(2)逻辑与.&&运算符是短路与运算. ...

  7. 极光推送助推视频App,打造最活跃手机新媒体平台

    移动应用能够帮助吸引更多的新用户,增加用户互动和对话.但你得让用户想起你,如何在一部手机上数十个App中脱颖而出,是考验App运营的关键之处.为了打造一个成功的App,开发者需要着眼长远,不应局限于其 ...

  8. 关于hive ,eclipse老是提示加载不到驱动

    忙活了好长时间,很纳闷为什么加载不上驱动,驱动包.hive的依赖包.hadoop的依赖包也引入了,各种百度最后: hadoop-2.2.0/share/hadoop/common/hadoop-com ...

  9. 清空file文件域的方法

    我们在实际应用中经常希望能把文件域给清空,比如使用change事件时,因为不清空再次选择同一文件时将不在触发change事件. 但是在IE中,由于安全设置的原因,是不允许更改文件域的值的,也就是不能使 ...

  10. iOS实现视频和图片的上传

    关于iOS如何实现视频和图片的上传, 我们先理清下思路 思路: #1. 如何获取图片? #2. 如何获取视频? #3. 如何把图片存到缓存路径中? #4. 如何把视频存到缓存路径中? #5. 如何上传 ...