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

news2024/12/25 2:15:17

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

文章目录

  • 前言
  • 一、第二版十四讲课本源码下载
    • 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.coloradmin.cn/o/1655410.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PHPStudy 访问网页 403 Forbidden禁止访问

涉及靶场 upload-labd sqli-labs pikachu dvwa 以及所有部署在phpstudy中的靶场 注意:一定要安装解压软件 很多同学解压靶场代码以后访问报错的原因是:电脑上没有解压软件。 这个时候压缩包看起来就是黄色公文包的样子,右键只有“全部提取…

基于C语言中的类型转换,C++标准创造出了更加可视化的类型转换

目录 前言 一、 C语言中的类型转换 二、为什么C需要四种类型转换 三、C中新增的四种强制类型转换操作符以及它们的应用场景 1.static_cast 2.reinterpret_cast 3.const_cast 4.dynamic_cast 前言 在C语言中,如果赋值运算符左右两侧的类型不同,或者…

渗透之sql注入实战2(二次注入)

目录 平台地址: 开始: 方法1: 方法二 找提示 这里存在一个文件包含(file)。 爆源码 index.php源码 confirm.php源码: search.php源码: change.php源码: delete.php源码&…

【论文浅尝】Large Language Models for Generative Information Extraction: A Survey

本文对生成式IE的LLM进行了全面的探索。使用两种分类法对现有的代表性方法进行分类: (1)众多IE子任务的分类法,旨在对可以使用llm单独或统一提取的不同类型的信息进行分类; (2)学习范式分类法,对利用llm生成IE的各种新方法进行分类。 Preliminaries o…

学习Uni-app开发小程序Day3

经过五一长假,回过头在去看学习的东西,发现仍然是一筹莫展的,看来,学习是不能松懈的,得,自己在把以前的从头复习一遍,加深印象。今天在继续听课,但是出现一个问题,是黑码…

实践指南:如何将SpringBoot项目无缝部署到Tomcat服务器

序言 SpringBoot 是一个用来简化 Spring 应用初始搭建以及开发过程的框架,我们可以通过内置的 Tomcat 容器来轻松地运行我们的应用。但在生产环境中,我们可能需要将应用部署到独立的 Tomcat 服务器上。本文给大家介绍 SpringBoot 项目部署到独立 Tomcat…

Springboot+Vue项目-基于Java+MySQL的个人云盘管理系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

连接docker中的MySQL出现2058错误

出错场景:在虚拟机中用docker技术下载最新版本的MySQL,在本地电脑上连接发现出现2058错误。 解决方法: 按照以下步骤 1. 2. ALTER USER root% IDENTIFIED WITH mysql_native_password BY 自己MySQL的密码; 3.成功

如何查看公网IP开放端口?

在计算机网络中,公网IP是指能够直接访问互联网的IP地址,而开放端口则是指外部网络可以访问的服务端口。查看公网IP开放端口可以帮助我们了解当前网络环境中哪些服务可以被外部网络访问,对于网络安全和远程连接非常重要。 天联组网 天联组网是…

延迟加载过多对性能的影响

延迟加载是一种将资源下载操作推迟到需要时再下载的技术,可以节省流量并减少关键资源的网络争用。它于2019年成为 Web 标准,今天大多数主流浏览器支持图片的 loading"lazy"。 听起来不错,但是否存在延迟加载过多的情况?…

Sarcasm detection论文解析 |使用 BERT 进行中间任务迁移学习的刺检测

论文地址 论文地址:https://www.mdpi.com/2227-7390/10/5/844#/ github:edosavini/TransferBertSarcasm (github.com) 论文首页 笔记框架 使用 BERT 进行中间任务迁移学习的讽刺检测 📅出版年份:2022 📖出版期刊:Mathematics &…

您可以使用WordPress创建的19种网站类型

当人们决定为什么他们应该使用WordPress时,我们经常会被问到“WordPress可以做[空白]吗?答案大多是肯定的。在本文中,我们将向您展示您可以使用WordPress创建的19种不同类型的网站,而无需学习任何编程技巧。 目录 隐藏 1 开始使用…

什么是Facebook付费广告营销?

Facebook作为全球最大的社交平台之一,成为了跨境卖家不可或缺的营销阵地。它不仅拥有庞大的用户基数,还提供了丰富的广告工具和社群互动功能,让商家能够精准触达目标市场,提升品牌影响力。云衔科技通过Facebook付费广告营销的专业…

开源免费的发票识别OCR应用:Invoice

Invoice:轻松识别,发票电子化扫描烦恼消- 精选真开源,释放新价值。 概览 Invoice 是github社区上一个采用开源许可协议发布的增值税发票光学字符识别(OCR)解决方案项目。该项目不仅集成了预训练的高级模型&#xff0c…

ansible批量运维管理

Ansible是一种自动化运维工具,基于Python开发,主要用于自动化IT任务,如配置管理、应用程序部署、软件升级和系统管理等。它集合了众多运维工具(如puppet、cfengine、chef、func、fabric)的优点,实现了批量系…

CopyClip for Mac - 高效复制粘贴,轻松管理剪贴板

CopyClip for Mac,一款专为Mac用户打造的剪贴板管理工具,让你在复制粘贴的日常任务中,享受到前所未有的高效与便捷。 它常驻在菜单栏中,时刻准备为你服务。一旦你复制了内容,CopyClip就会自动将其保存至历史记录中&…

软件杯 深度学习花卉识别 - python 机器视觉 opencv

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 &a…

为软件教学文档增加实践能力

为了更方便软件教学,我们在凌鲨(OpenLinkSaas)上增加了公共资源引用的功能。 目前可以被引用的公共资源: 微应用常用软件公共知识库Docker模板 引用公共资源 引用微应用 目前微应用包含了主流数据库,终端等工具,可以方便的进行各种相关实…

词袋法TFIDF

Tf-idf⽂本特征提取 TF-IDF的主要思想是:如果某个词或短语在⼀篇⽂章中出现的概率⾼,并且在其他⽂章中很少出现,则认为此词或者短语具有很好的类别区分能⼒,适合⽤来分类。TF-IDF作⽤:⽤以评估⼀字词对于⼀个⽂件集或…

制冷机组喷液冷却与经济器的介绍

在制冷机组中,喷液冷却与经济器两者虽同可以为提升制冷系统效率与性能,经济器是一种特殊的换热器,主要用于制冷系统中,以提高系统的效率和性能。通常安装在制冷机组的冷凝器之后、膨胀阀之前的位置,确保在制冷剂流向蒸…