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

相关文章

DeepSeek模型本地部署的详细教程

《DeepSeek模型本地部署的详细教程》DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,在本地成功部署DeepSe... 目录一、环境准备(一)硬件需求(二)软件依赖二、安装Ollama三、下载并部署DeepSeek模型选

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

C#提取PDF表单数据的实现流程

《C#提取PDF表单数据的实现流程》PDF表单是一种常见的数据收集工具,广泛应用于调查问卷、业务合同等场景,凭借出色的跨平台兼容性和标准化特点,PDF表单在各行各业中得到了广泛应用,本文将探讨如何使用... 目录引言使用工具C# 提取多个PDF表单域的数据C# 提取特定PDF表单域的数据引言PDF表单是一

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

Java操作PDF文件实现签订电子合同详细教程

《Java操作PDF文件实现签订电子合同详细教程》:本文主要介绍如何在PDF中加入电子签章与电子签名的过程,包括编写Word文件、生成PDF、为PDF格式做表单、为表单赋值、生成文档以及上传到OB... 目录前言:先看效果:1.编写word文件1.2然后生成PDF格式进行保存1.3我这里是将文件保存到本地后

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用