联合标定单目相机和imu,使用工具Kalibr

2023-05-16

使用Kalibr工具标定单目相机和IMU的外参,操作过程和联合标定双目相机和IMU类似,以下介绍不同部分。

最后标定时所需要的相机参数由双目变成了单目,以下是配置文件的格式:

cam0:
  camera_model: pinhole
  distortion_coeffs: [-7.1295821564421172e-02, -4.3443376760623504e-03,-5.1875249882739520e-03,1.3588426034275964e-03]
  distortion_model: equidistant
  intrinsics: [5.3509541321021049e+02, 5.3512807716648979e+02, 6.4285236686543988e+02, 5.2015046295410457e+02]
  resolution: [1280, 1024]
  rostopic: /camera/image_right

在标定过程中出现了以下问题:

Extracting calibration target corners
  Progress 3 / 857 	 Time remaining: 38m 28s                 Process Process-3:
Traceback (most recent call last):
  File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run
    self._target(*self._args, **self._kwargs)
  File "/var/kalibr-build/src/kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/TargetExtractor.py", line 24, in multicoreExtractionWrapper
    success, obs = detector.findTarget(stamp, np.array(image))
TypeError: Conversion is only valid for arrays with 1 or 2 dimensions. Argument has 3 dimensions
。。。。
    success, obs = detector.findTarget(stamp, np.array(image))
TypeError: Conversion is only valid for arrays with 1 or 2 dimensions. Argument has 3 dimensions
    success, obs = detector.findTarget(stamp, np.array(image))
TypeError: Conversion is only valid for arrays with 1 or 2 dimensions. Argument has 3 dimensions
 
[FATAL] [1595408077.066000]: No corners could be extracted for camera /camera/image_right! Check the calibration target configuration and dataset.

解决办法(在github lssues 中查到):

将ImageDatasetReader.py中117行img_data = np.array(self.CVB.imgmsg_to_cv(data))修改为
img_data = np.squeeze(np.array(self.CVB.imgmsg_to_cv2(data, "mono8")))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

联合标定单目相机和imu,使用工具Kalibr 的相关文章

  • C++ 编译

    C 43 43 编译原理 参考博客 https www cnblogs com kevinWu7 p 10163443 html C C 43 43 编译就是要将C C 43 43 的代码映射到相应的机器码 xff0c 以及讨论其中的内存管

随机推荐

  • STM32串口中断的方式发送

    我将其改为真正的中断发送 步骤一 xff1a 初始化GPIO GPIO InitTypeDef GPIO InitStructure GPIO InitStructure GPIO Pin 61 GPIO Pin 10 LED1 PC10
  • 什么是大端小端 and 如何判断大端小端

    1 为什么会有大小端模式之分呢 xff1f 这是因为在计算机系统中 xff0c 我们是以字节为单位的 xff0c 每个地址单元都对应着一个字节 xff0c 一个字节为8bit 但是在C语言中除了8bit的char之外 xff0c 还有16b
  • python中串口通信的步骤及实现

    python内置的库函数确实很强大 xff0c serial库中包含了串口通信所用到的一些函数 本文用python实现了串口的一种简单通信 代码实现 xff1a span class token keyword import span se
  • 结构体作用(STM32)

    结构体作用 xff08 STM32 xff09 来源 xff1a 正点原子 MDK 中很多地方使用结构体以及结构体指针 xff0c 下面总结一下其使用结构体的主要作用 1 结构体是将不同的数据类型整合为一个有机整体 xff0c 方便数据管理
  • 两轴舵机云台的一点实践

    两轴舵机云台的一点实践 效果演示硬件使用情况定时器中断代码计算机体系下的云台角代码舵机控制代码工程源码下载 简介 xff1a 为了学习姿态解算相关知识 xff0c 最近做了一个作品 xff0c 模仿炮塔跟随系统 xff0c 用陀螺仪使两个舵
  • 栈的使用场景

    当数据的处理顺序要与接收顺序相反时 xff08 LIFO xff09 last in first out xff0c 就可以用栈 像文字处理器的 撤销 动作 xff0c 或网络应用程序的函数调用 xff0c 你应该都会需要栈来实现 在处理括
  • 如何重装Ubuntu 系统

    如果你弄坏了你的 Ubuntu 系统 xff0c 并尝试了很多方法来修复 xff0c 你最终放弃并采取简单的方法 xff1a 重新安装 Ubuntu 我们一直遇到这样一种情况 xff0c 重新安装 Linux 似乎比找出问题并解决来得更好
  • 精华:QinQ基础,VLAN双层TAG

    QinQ 是 802 1Q in 802 1Q 的简称 xff0c 是基于 IEEE 802 1Q 技术的一种比较简单的二层 VPN 协议 QinQ简介 IEEE 802 1Q 定义的 VLAN ID 域有 12 个比特 xff0c 最多可
  • Ubuntu更换默认终端

    终端是任何Linux系统的关键部分 它允许您通过shell访问Linux系统 虽说现在的Linux发行版 xff0c 比如Ubuntu xff0c CentOS等已经基本上可以采用GUI来完成绝大部分一般性的任务 但是 xff0c 终端程序
  • vim编辑器如何删除一行或者多行内容

    如何从Vim中删除行 xff1f 如何删除多行 xff1f 本文介绍在Vim编辑器中删除行的不同方法 安装vim 在Ubuntu Debian中的安装方式 sudo apt install vim 在RHEL Centos中的安装方式 yu
  • Linux系统入门命令学习经验

    此时此刻我想和大家分享一下我在学习linux过程中的一些经验和教训 xff0c 如果有人能够正好看到我的这篇文章 xff0c 希望能够让想学习linux的同学多少获得一点经验 xff0c 少走一些弯路 能够比较简单 快捷的迅速掌握知识是我们
  • CloudBeaver 参考架构

    CloudBeaver 是一个基于 Web 的云数据库管理工具 xff0c 支持 PostgreSQL MySQL MariaDB SQLite 和 Firebird 等数据库 server osgi 模式 xff0c 依赖dbeaver
  • 如何修改Vim默认注释

    在Linux下vim被注释掉的字体颜色默认为非常刺眼的蓝色 xff0c 看上去很不清晰 xff0c 我们可以通过设置用户根目录下 vimrc文件 xff0c 可以更改颜色的配置 Vim默认注释颜色如下图 xff1a 找到vim的配置文件 x
  • yum install 与 yum groupinstall 的区别

    yum 提供二种安装软件的方式 1 xff0c yum install 它安装单个软件 xff0c 以及这个软件的依赖关系 2 xff0c yum groupinstall 它安装一个安装包 xff0c 这个安装包包涵了很多单个软件 xff
  • 自制正点原子四轴遥控器无法连接minifly

    最近在群里有群友问自制遥控器无法对频的问题 xff0c 我过去也踩过这个坑 xff0c 已经解决了 我已经在群里回答四五次了 xff0c 但可能群友没注意或者进群较晚没看到 xff0c 正好今晚有空 xff0c 把这个坑填上 18年国庆后自
  • 红旗Linux系统安装教程

    用惯了Windows系统的您 xff0c 会不会想尝尝鲜 xff0c 试试Linux的系统呢 以下经验在虚拟机和实机都适用的哦 工具 原料 电脑 Linux系统镜像包 方法 步骤1 首先将镜像写到光盘或者U盘 xff0c 然后到bios设置
  • 安装CentOS7出现dracut:/#……time解决办法

    当选择install CentOS7以后一会就会出现错误 报错信息 xff1a 就是dracut xff1a timeout一大堆 我本来以为是我的启动盘没做好 xff0c 后来我又重做了好几次都是这问题 解决 通过搜索引擎检索 xff0c
  • 【PID控制 Ⅱ】在代码中实现PID控制算法的思路以及伪代码

    一 实现思路 定义PID控制器 xff1a 在代码中定义一个PID控制器 xff0c 包括三个参数 xff1a 比例系数 xff08 Kp xff09 积分系数 xff08 Ki xff09 和微分系数 xff08 Kd xff09 这些参
  • 使用ZED-stereo相机配合SURF算法识别目标并测距

    这是以前做的小项目里的一部分 xff0c 由于时间久远 xff0c 在这里整理以下 xff0c 也方便自己以后查阅 使用ZED stereo相机配合SURF算法识别目标并测距 ZED stereo是很好用功能强大的双目相机 xff0c 可以
  • 联合标定单目相机和imu,使用工具Kalibr

    使用Kalibr工具标定单目相机和IMU的外参 xff0c 操作过程和联合标定双目相机和IMU类似 xff0c 以下介绍不同部分 最后标定时所需要的相机参数由双目变成了单目 xff0c 以下是配置文件的格式 xff1a cam0 camer