Kalibr标定单个相机全流程(超超超级详细)

2024-03-16 23:59

本文主要是介绍Kalibr标定单个相机全流程(超超超级详细),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:一些闲话


笔者写下这篇面向纯小白的文章的原因是因为笔者也是一个纯小白,想要记录一下自己接下来这段时间的点点滴滴,当作记录一下自己的成长。回顾我的大学两年,大部分时间都在彷徨犹豫选择中度过,没有真正沉下心去学习或者做些项目,借这个机会,我就以开始写博文的方式倒逼自己做些记录和坚持下去,也希望大家能坚持做困难但是有意义的事情。

一.下载VMware并且安装虚拟机

这个网上教程比较多,需要注意的是如果要运行Kalibr,内存得选择8G以上,因为后面如果要下载和配置Kalibr,内存过小会出现一些莫名其妙的错误。我下载的是20.04版本的ubuntu,所以后面的方式都基于这个版本,但是我看着好像是18.04安装和配置Kalibr的博文比较多,如果你也像我一样一开始就选择了20.04,那本篇大概会具有更多的参考价值。还有值得注意的是需要了解一些ubuntu的基本概念,有利于后续工作展开

安装Ubuntu推荐博文:安装Ubuntu

Ubuntu基本概念:Ubuntu入门

二.下载ros

值得注意的是,rosd版本和ubuntu是适配的,所以要选择相对应的版本。可以预先了解一下ros的基本概念和基本工作模式,但基本不了解也可以。推荐古月居的b站教程,或者随便找个ros的基本介绍博文看也可以。

下载ros推荐博文:ROS安装

(博主很早安了ros,当时什么都不知道,还是找淘宝安的,实在不行找淘宝,不丢人)

三.安装并且配置Kalibr

最最最关键的是要先看原文,原文讲述了所有你需要知道的东西,虽然仍然存在一些踩坑以及最大的问题-看不懂英文等,但是还是推荐先阅读原文,原文中看不懂的部分再结合博主的博文对他翻译,这是最优解。

看完原文就可以开始找下载的博文进行阅读了,在阅读完之后,还要下载python3等,这些都是我们安装的基础,这些csdn的文章也很多,笔者不再赘述。遇到命令错误的时候下载对应的东西就可以

下载Kalibr并且成功安装和配置困难就成功了一大步,笔者是根据两篇博文来回换着敲命令(任何一篇在我这里都没有单独成功),最后才成功把所有包都安装上。Kalibr下载博文1,Kalibr下载博文2(命令都要敲在终端)

这里有个比较抽象的问题,一是可能之前设置的内存配置不够大,或者是网速等等问题,导致包一下子没有办法全部安装,然后就得重复地运行编译指令,他会慢慢地陆续成功;二是可能是有其他问题(笔者没有遇到),可以参考以下这个博文编译错误

四.收集数据

首先需要获取标定板,参考相对应的博文这篇文章中的准备部分。标定板的意思就是一块固定参数的板子,电脑通过传输给他的标准标定板参数和图像中标定板中的参数得到相机的内参等。最保险的肯定是去官网下载示例中的标定板,下载第一块April 6x6的pdf就可以(可能需要翻一下才能下载),然后按照原尺寸打出来贴在硬板子上。再用相机从各个角度拍照(需要30-50张不嫌多)注意要拍全

接下来到刚刚下载标定板的网站将对应April 6x6的yawl文件也下载一下。

五.建立共享文件夹

刚刚拍的照片和yawl文件还都在主机上,怎么把他转移到虚拟机,对笔者而言最简单的方法就是建立共享文件夹,可以参考以下博文共享文件夹的创建。

建立后,将照片和yawl文件放入,就可以将主机文件传入虚拟机,这些文件在Other Location的Computer的mnt的hgfs里可以找到。

六.打包成bag

在找到共享文件夹后,就可以复制出其中的图像文件到指定的工作文件夹。笔者是复制到了Downloads下面新建的dataset-dir文件夹中新建的cam0文件夹中,然后再downloads文件夹中打开终端,输入指令:

source ~/kalibr_ws/devel/setup.bash //kalibr_ws就是前面教程让你创建的kalibr工作文件夹,有的博主是kalibr_workspace,我这里是kalibr_ws
rosrun kalibr kalibr_bagcreater --folder dataset-dir/. --output-bag awsome.bag

可以用以下指令看一下生成的awsome.bag里面有些什么

rosbag info awsome.bag

注意图片的命名需要按照指定的格式要有19位,可以尝试用以下博文的办法。不用管imu

改变图片名称

打包bag推荐博文:要钱的详细文章

简单文章

七.运行标定程序

运行标定程序还是先需要知道需要输入什么量,依旧是推荐先看原文,以下文章有详解四个输入量

1.bag文件

2.yawl文件(之前下载的,要复制到与bag一个文件夹)

3.相机模型文件,就是你所需要的内参的模板,针孔相机(手机)就选pinhole-radtan

4.topic,就是bag文件中相机发布图像的topic话题

八,得到结果

原文有对输出文件的详解

这篇关于Kalibr标定单个相机全流程(超超超级详细)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/817171

相关文章

Flutter实现文字镂空效果的详细步骤

《Flutter实现文字镂空效果的详细步骤》:本文主要介绍如何使用Flutter实现文字镂空效果,包括创建基础应用结构、实现自定义绘制器、构建UI界面以及实现颜色选择按钮等步骤,并详细解析了混合模... 目录引言实现原理开始实现步骤1:创建基础应用结构步骤2:创建主屏幕步骤3:实现自定义绘制器步骤4:构建U

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七

python中各种常见文件的读写操作与类型转换详细指南

《python中各种常见文件的读写操作与类型转换详细指南》这篇文章主要为大家详细介绍了python中各种常见文件(txt,xls,csv,sql,二进制文件)的读写操作与类型转换,感兴趣的小伙伴可以跟... 目录1.文件txt读写标准用法1.1写入文件1.2读取文件2. 二进制文件读取3. 大文件读取3.1

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例