《视觉十四讲》例程运行记录(1)—— 课本源码下载和3rdparty文件夹是空的解决办法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、第二版十四讲课本源码下载
    • 1. 安装git工具
  • 二、Pangolin下载和安装
    • 1. 源码下载
    • 2. Pangolin的安装
      • (1) 安装依赖项
      • (2) 源码编译安装
      • (2) 测试是否安装成功
  • 二、Sophus的下载和安装
    • 1. 源码下载
    • 2. 安装fmt库依赖
    • 2. 安装Sophus


前言

《视觉SLAM十四讲》是由作者高翔编写的一本关于视觉SLAM(Simultaneous Localization and Mapping)的教材,从理论到实践全面介绍了SLAM技术在视觉领域的应用。通过十四个生动的讲解,读者可以系统地学习视觉SLAM的基础理论、算法原理和实际实现。

本书特别强调了理论与实践相结合的方式,旨在帮助读者深入理解SLAM技术的核心概念,并通过实际案例和代码实现,掌握如何应用SLAM解决实际问题。在作者高翔的指导下,读者将了解到SLAM在无人驾驶、智能导航、机器人技术等领域的重要性和应用前景。

《视觉SLAM十四讲》适合视觉SLAM领域的学习者和从业者阅读,也可以作为专业人士的参考书。这本书不仅系统地介绍了视觉SLAM的基本概念和算法,还提供了实践中的经验分享和应用案例,对于希望深入了解SLAM技术和在实践中应用的读者来说是一本很好的教材。

一、第二版十四讲课本源码下载

1. 安装git工具

(1) 终端输入:

sudo apt-get install git

(2) 例程源码的下载
终端输入:

git clone --recursive https://github.com/gaoxiang12/slambook2.git

如果你没有安装配置好git,也可以通过下载zip文件的形式直接下载代码。
下载后发现,下载的3rdparty文件夹是空的!!!!暂时不知道是什么原因,下面是手动下载安装3rdparty文件夹中存放的库依赖

二、Pangolin下载和安装

1. 源码下载

下载源码,在终端输入:

git clone https://github.com/stevenlovegrove/Pangolin.git

如果使用上述指令下载,出现类似报错:Failed to connect to github.com port 443:拒绝连接,有个小tips可以参考一下:
将上述的https,换成git。

2. Pangolin的安装

(1) 安装依赖项

终端输入:

sudo apt install libgl1-mesa-dev
sudo apt install libglew-dev
sudo apt install cmake
sudo apt install libpython2.7-dev
sudo apt install python-pip
sudo python -mpip install numpy pyopengl Pillow pybind11
sudo apt install pkg-config
sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols
sudo apt install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavdevice-dev
sudo apt install libdc1394-22-dev libraw1394-dev
sudo apt install libjpeg-dev libpng-dev libtiff5-dev libopenexr-dev

(2) 源码编译安装

1)进入存放Pangolin的文件夹:

cd slambook2/3rdparty/Pangolin

2)创建存放编译中间文件的文件夹build:
创建文件夹:

mkdir build         // 在Pangolin下创建文件夹

进入build目录下:

cd build

3)编译

cmake ..
make -j8    // j8表示多线程编译的意思,8代表使用线程同时编译

4)安装到本机

sudo make install

(2) 测试是否安装成功

在Pangolin文件夹下有一个测试的案例examples,具体的流程如下:
1)在slambook2/3rdparty/Pangolin/examples/HelloPangolin下打开终端:
在Pangolin下创建build文件夹:

mkdir build
cd build

用于存放过程文件,不用时可删掉,注意在使用cmake …/make之前,要把build删掉,不然会出现找不到Makefile文件的报错

2)编译examples测试

cmake ..
make

3)运行测试案例
终端输入:

./HelloPangolin

运行./HelloPangolin之后,如果出现一个彩色的立方体,并且可以通过鼠标左右拖拽,就表示Pangolinan安装成功。

在这里插入图片描述

二、Sophus的下载和安装

1. 源码下载

终端输入:

git clone https://github.com/strasdat/Sophus.git

注意:多余的空格可能导致克隆失败
在这里插入图片描述

2. 安装fmt库依赖

添加依赖项“fmt”库
(1) 源码下载
下载地址:

git clone  https://github.com/fmtlib/fmt.git

**注意:**fmt库最好不能直接git克隆库代码,否则可能出现如下问题:
报错信息如下:

/usr/local/include/fmt/core.h:1706:3: error: static assertion failed:
cannot format an argument. To make type T formattable provide a
formatter specialization:
https://fmt.dev/latest/api.html#udtCMakeFiles/usesophus.dir/build.make:62:
recipe for target ‘cMakeFiles/usesophus.dir/usesophus.cpp.o’ failed

在这里插入图片描述

解决:
要去官网下载8.1.1版本的fmt进行安装即可解决上述问题

(2) fmt的安装
1)进入fmt的目录下,创建build文件:

mkdir build
cd build

2)编译

cmake ..
make

3)安装库到本地

sudo make install

2. 安装Sophus

(1)进入Sophus的目录下,创建build文件:

mkdir build
cd build

(2)编译源码

cmake ..
make

(3)安装到本地

sudo make install

到此,没有什么报错就安装成功了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/603916.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud 集成consul,消费者报I/O error on GET request for...

创建消费者微服务,去调用生产者微服务的请求过程中,出现以下错误: 报错原因 因为在使用SpringCloudAlibaba中的Nacos框架时,自动整合了SpringCloud中的Ribbon框架中的负载均衡,因为微服务提供者有两个,在消…

C++初识多态(1)

1.多态要解决的问题(引入) 任何一种机制的存在,必然是有其存在的意义的,例如我们前面学过的函数重载,运算符重载,以及引用等等,都是解决一些特殊问题的; 下面通过一些具体的例子&a…

类和对象、this指针、类里的默认生成函数

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C,linux 🔥座右铭:“不要等到什么都没有了…

【仪酷LabVIEW AI工具包案例】使用LabVIEW AI工具包+YOLOv5结合Dobot机械臂实现智能垃圾分类

‍‍🏡博客主页: virobotics(仪酷智能):LabVIEW深度学习、人工智能博主 🎄所属专栏:『仪酷LabVIEW AI工具包案例』 📑上期文章:『【YOLOv9】实战二:手把手教你使用TensorRT实现YOLOv…

升级PQC后,「谷歌浏览器」却频频报错......

上周Chrome 124发布后,默认启用了新的抗量子X25519Kyber768封装机制,不过,一些谷歌Chrome用户在使用后反应说,新版本的浏览器在连接网站、服务器和防火墙时出现了问题。 谷歌在8月份开始测试后量子安全TLS密钥封装机制&#xff0c…

嫦娥六号近月制动成功,建立月球基地又迈进一步!

嫦娥六号探测器在近月制动的关键时刻,北京航天飞行控制中心内弥漫着紧张而庄重的氛围。每一个航天科技工作者都屏息以待,他们的眼神中充满了期待与自豪。随着一系列精妙绝伦的指令如同琴弦上的音符般流畅地奏响,嫦娥六号探测器在万众瞩目的目…

使用SpringBoot+Redis做一个排行榜【推荐】

SpringBoot Redis实现排行榜 一、Zset有序集合介绍 Zset是一个没有重复元素的字符串集合。不同之处是有序集合的每个成员都关联了一个评分( score) ,这个评分( score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了…

通讯录项目—顺序表实现

在上次我介绍顺序表后相信大家对顺序表有了一定的了解,现在就让我们来练练如何用它,这篇是在顺序表基础上新增的(建议看看线性表—顺序表实现-CSDN博客)。 目录 通讯录简介 创建用户信息 适配和理解通讯录 功能实现 初始化通讯录 销毁通讯录 增加…

为什么跑腿越来越受到年轻人的青睐

跑腿服务越来越受到年轻人的青睐,主要源于以下几个方面的原因: 1. 便捷快速:在快节奏的现代生活中,年轻人追求的是效率和速度。跑腿服务提供了一种即时、便捷的解决方案,使他们能够在繁忙的生活和工作中节省时间和精力…

鸿蒙开发实战:智能日志定位与高效调试技巧

前言 在鸿蒙系统的开发过程中,日志定位是一个关键的调试步骤。想象一下,如果你能够轻松地在繁杂的代码中快速定位到日志产生的位置,那将会极大地提高你的开发效率。今天,我将分享一套代码,它能帮助你实现这一目标。 效果展示 当你使用这套代码时,日志的打印效果将如下…

qt开发解压缩zip文件实现

作者开发环境:Qt5.8 ,win10 总体思路:首先我们编译zip源码,生成zip的动态库;然后再编译quazip源码,得到quazip的动态库;最后在我们的程序中去调用。 详细步骤: 1、编译zlib zlib…

Day22 代码随想录打卡|字符串篇---实现 strStr()

题目(leecode T28): 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1…

WSL2中使用USB串口实验

一、主要参考网站: Connect USB devices | Microsoft Learn 连接 USB 设备 | Microsoft Learn 二、安装usbipd-win WSL 本身并不支持连接 USB 设备,因此你需要安装开源 usbipd-win 项目 PS C:\Users\issta> winget install --interactive --exact dorssel.usbipd-win …

yaml配置文件的在深度学习中的简单应用

1 .创作灵感 小伙伴们再阅读深度学习模型的代码的时候,经常会遇到yaml格式的配置文件。用这个配置文件是因为我们在训练模型的时候会涉及很多的参数,如果这些参数东一个,西一个,我们调起来的时候就会很不方便,所以用y…

Springboot+vue项目人事管理系统

开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springbootvue JDK版本:jdk1.8 文末获取源码 系统主要分为管理员和普通用户和员工三部分,主要功能包括个人中心,普通用户管理&…

4.用python爬取保存在text中的格式为m3u8的视频

文章目录 一、爬取过程详解1.寻找视频的m3u8链接2.从网页源码中寻找视频的m3u8链接的第二部分内容3.从视频的m3u8链接获取视频 二、完整的代码 一、爬取过程详解 1.寻找视频的m3u8链接 这个文档承接了爬虫专栏的 第一节.python爬虫爬取视频网站的视频可下载的源url&#xff0…

头歌实践教学平台:CG3-v2.0-图形几何变换

第1关:平移、缩放、旋转正方体 一. 任务描述 1. 本关任务 (1) 理解几何变换基本原理, 掌握平移、旋转、缩放变换的方法; (2) 根据平移算法原理补全translation、scale、rotation_x、rotation_y和rotation_z函数; (3) 根据几何变换基本原理,将main函数中的transla…

RK3568 学习笔记 : Linux emmc 内核启动 rootfs 根文件系统无法正常挂载问题的分析

问题描述 平台 : NanoPi-R5C 开发板 RK3568 平台。 手动编译的 Linux 内核,结果发现大概率 emmc 无法正常初始化,导致 rootfs 根文件系统无法正常挂载 Linux 内核版本: 6.1 Linux 内核代码位置: https://github.com…

上网行为监控软件有哪些(上网审计软件)【收藏】

上网行为监控软件(也被称为上网审计软件)正逐渐成为企业信息安全管理的必备工具。 没错! 这些软件通过对员工的上网行为进行全面、细致的监控和审计,帮助企业提升工作效率、保护数据安全,并规范员工的网络使用行为。 …

Springboot+vue项目健身房课程预约平台

开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springbootvue JDK版本:jdk1.8 本系统主要实现了首页、个人中心、用户管理、教练管理、会员卡管理、购买会员管理、课程类型管理、课程信息管理、课程购买…
最新文章