- 博客(73)
- 资源 (1)
- 收藏
- 关注
原创 ubantu20 yaml-cpp 安装,第三方库类似
确保你使用的是最新版本的 CMake,因为旧版本的 CMake 可能不支持某些功能。你可以通过以下命令检查和更新 CMake。用来查找库和头文件的配置文件。确保这个文件存在于你的系统中。在不同的发行版中,安装命令可能有所不同。文件存在于某个非标准路径中,你需要将该路径添加到。有时候,CMake 缓存可能会导致问题。如果上述方法仍然不能解决问题,你可以在。你可以使用以下命令来查找。安装完成后,再次验证。
2024-11-11 18:26:25 475
原创 关联容器map使用结构体
然后,创建了一个 std::map,其键类型为 Person,值类型为 std::string(表示职业信息)。传递性:对于任何非空集合中的任意元素 a、b 和 c,如果 a < b 为真且 b < c 为真,那么 a < c 也为真。可比较性:对于任何非空集合中的任意元素 a 和 b,a < b、a == b 或 b < a 之中至少有一个为真。对称性:对于任何非空集合中的任意元素 a 和 b,如果 a < b 为真,那么 b < a 为假。),以便 std::map 能够确定键之间的顺序。
2024-07-25 16:16:33 439
原创 for循环使用auto 和 cosnt auto &
为了减少拷贝的开销,auto&最好,如果只是读取而不修改,再加上const即可。for(const auto &x : range)// 只读元素(无法修改)for(auto &&x : range)// 修改元素。for(auto x : range) // 拷贝元素。
2024-06-28 16:28:50 250
原创 ubantu20 安装多版本opencv3416
DCMAKE_INSTALL_PREFIX=~/lib/opencv4.9.0_install : 指定安装目录,否则默认安装到系统目录:/usr/lib,usr/include,这里是多版本共存的关键,指定一个自定义的目录(最好别是系统目录),比如我就在~/lib/opencv4.9.0_install中。set(OpenCV_DIR "~/myLIB/lib/opencv-3.4.20_install/share/opencv") #对应上面刚查的目录。去官网下载opencv3。
2024-06-07 17:02:56 452
原创 ubantu安装第三库到指定目录
新建安装路径:新建安装目录,~/myLIB/lib/pcl-1.13。注意这里最好不要安装到系统根目录下,也就是默认的/usr/local/下,因为经过我测试发现在自己的电脑上,如果安装到了/usr/local/下,最后链接pcl的库的时候会默认链接到这个路径下的库,也就是自己新安装的pcl-1.13的库。所以保险的方式就是不要安装到/usr/local/下,而是安装到自己的用户目录下,然后特殊的工程需要使用pcl-1.13的,那么就在CMakeLists.txt中手动指定PCL的路径;
2024-06-07 16:44:02 309
原创 点云获取pcl点云以某个点云的已经分块得区域的交集
但是不知道为什么每次提取的indexes都不对,提取的区域大部分都是包含整个点云的点,很奇怪。于是看了下提取box点云的源码。首先将点云分块得到区域后,获取每个块的box的最大最小点云,然后提取box内的点云。不知道为什么不行,但看到只是比价点的大小是否在box内,按照源码修改,完美解决。
2024-06-06 17:58:14 251
原创 python SciPy 和 NumPy 版本冲突
时,经常会遇到各种依赖问题。最近,在使用 SciPy 和 NumPy 这两个流行的 Python 包时,版本兼容性的报错。SciPy 依赖于特定版本范围内的 NumPy,而当前环境中的 NumPy 版本超出了这个范围。NumPy 升级到一个与当前 SciPy 版本兼容的版本。首先,我们需要明白问题的本质:SciPy 和。在使用 Python 的。
2024-06-03 16:23:31 1204
原创 ssh: connect to host github.com port 22: Connection refused fatal
如果没有config 文件就新建一个。.com的端口号22拒绝连接。可以使用github的。
2024-04-15 16:41:31 347
原创 C++ 多线程学习(二) 互斥锁std::mutex
在多线程中经常会遇到多个线程同时修改同一个变量的情况,这个时候如果不对线程进行一定约束,很可能会导致意想不到的结果。例如有两个线程1和线程2,线程2的输入是线程1的结果。很显然如果在主线程中同时开启了线程1和线程2,像上面那样,它们是同时运行的,会直接导致程序的崩溃。所以线程同步锁应运而生,当遇到它时它会让当前线程独占某个变量,其它同样需要修改该变量的线程此时只能处于等待状态,等到当前线程结束之后,线程独占锁自动释放,其它线程可以修改内容。#include<thread> #inclu
2022-03-10 14:06:52 1232
原创 C++ queue容器适配器
只能访问 queue<T> 容器适配器的第一个和最后一个元素。只能在容器的末尾添加新元素,只能从头部移除元素。std::queue: 模板类queue定义在<queue>头文件中。队列(Queue)是一个容器适配器(Container adaptor)类型,被特别设计用来运行于FIFO(First-in first-out)场景,在该场景中,只能从容器一端添加(Insert)元素,而在另一端提取(Extract)元素。只能从容器”后面”压进(Push)元素,从容器”前面”提取(Pop
2022-03-09 21:58:49 201
原创 C++ 条件运算符 ?
Exp1 ? Exp2 : Exp3;其中,Exp1、Exp2 和 Exp3 是表达式。请注意冒号的使用和位置。? : 表达式的值取决于 Exp1 的计算结果。如果 Exp1 为真,则计算 Exp2 的值,且 Exp2 的计算结果则为整个 ? : 表达式的值。如果 Exp1 为假,则计算 Exp3 的值,且 Exp3 的计算结果则为整个 ? : 表达式的值。? 被称为三元运算符,因为它需要三个操作数.#include <iostream>using namespace st.
2022-03-09 16:35:30 458
原创 C++ Lambda函数
lambda函数(无名函数)比较简短,且整个项目不复用(只用一次);1、为进行排序算法,比较两个数大小时(sort函数)#include <iostream>#include <vector>#include <algorithm>using namespace std;bool compare(int& a, int& b){ return a > b;}int main(void){ int dat
2022-03-09 14:12:34 1271
原创 GTSAM学习(二)pnp
根据3D点以及相对应的2D像素点,利用GASAM求解最优相机位姿;#include <gtsam/inference/Symbol.h>#include <gtsam/nonlinear/LevenbergMarquardtOptimizer.h>#include <gtsam/geometry/SimpleCamera.h>#include <boost/make_shared.hpp> using namespace gtsam;us
2022-03-08 22:16:28 433
原创 GTSAM 学习(一)
GTSAM(Georgia Tech Smoothing and Mapping)是基于因子图的C++库,它可以解决slam和sfm的问题,当然它也可以解决简单或者更加复杂的估计问题。主要由以下三个基本组成部分:因子图(factor graph):它属于一个二分图,由因子和变量连接而成。变量(variables):估计问题中的未知随机变量。因子(factors):非线性因子表示变量之间的约束,在slam中,可能为landmark或者odometry的读数。第一个简单的例子是单个因子、
2022-03-08 22:04:18 1897
原创 A-LOAM学习笔记(四)
// This is an advanced implementation of the algorithm described in the following paper:// J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time.// Robotics: Science and Systems Conference (RSS). Berkeley, CA, July 2014. // Modifi.
2022-03-07 09:47:27 554
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人