自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(122)
  • 收藏
  • 关注

原创 点云注册配准之TEASER

teaser 点云匹配

2022-10-25 10:32:01 1316 1

原创 MeshLab相关&纹理贴图

可在顶点x y z后面跟上red, green, blue值来表示顶点颜色,颜色值的范围为0到1.0;定点索引如果是负的,表示从顶点序列结尾的偏移,从-1开始;FPS:(Frames per second)每秒传输帧数。改变灯向:control+shift+鼠标左键拖动。指定旋转/轨迹球中心:鼠标左键双击模型特定点。改变界面左下方Fov:shift+鼠标滚轮。缩放视图:滑动鼠标滚轮/shift+左键。pcd–>ply–>用MeshLab打开。平移视图:鼠标滚轮按钮+拖动。旋转视图:鼠标左键+拖动。

2022-09-09 20:32:00 2133

原创 linux下使用gdb调试core文件

一、GDB简介 GDB是GNU开源组织发布的一个强大的UNIX下调试程序工具,GDB主要帮助你完成下面四个方面的功能:1、启动你的程序,可以按照你自定义的要求随心所欲的运行程序。 2、可以让调试程序在你所指定的位置的断点处停止。 3、当程序停止时,可以检查此时你的程序中所发生的事情。 4、动态的改变你程序的执行环境。二、core文件简介1、core文件 当程序运行过程中出现Segmentation fault (core dumped)错误时,程序停止运行...

2022-05-12 11:21:40 13145

原创 卷帘快门(Rolling Shutter)与全局快门(Global Shutter)的区别

参考:https://blog.csdn.net/abcwoabcwo/article/details/93099982

2022-01-25 19:37:06 584

原创 LIO_SAM & GTSAM相关

参考:LIO-SAM源码:https://github.com/TixiaoShan/LIO-SAMgtsam的教程:https://gtsam.org/tutorials/intro.html#magicparlabel-65412gtsam源码:(里面有example)https://github.com/borglab/gtsam董靖gtsam的公开课材料:https://github.com/dongjing3309/gtsam-examples...

2022-01-16 19:27:20 319

原创 如何用 pip 安装自己写的包

https://blog.csdn.net/u012419550/article/details/105967006/

2021-08-13 19:51:07 277

原创 linux 环境变量相关

系统级环境变量:每一个登录到系统的用户都能够读取到系统级的环境变量用户级环境变量:每一个登录到系统的用户只能够读取属于自己的用户级的环境变量/etc/profile (系统级)环境变量执行顺序一般情况下,Linux加载环境变量配置文件的执行顺序为:==> /etc/environment==> /etc/profile==> /etc/profile.d/*.sh(此项在/etc/profile文件中执行,可以打开/etc/profile自行查看)==&g

2021-08-02 17:57:55 220

原创 Error State Extended Kalman Filter (ES-EKF)

ES-EKF 的优点1.The orientation error-state is minimal (i.e., it has the same number of parameters as degrees of freedom), avoiding issues related to over-parametrization (or redundancy) and the consequent risk of singularity of the involved covariances matr

2021-07-15 16:39:42 1359

原创 ros callback 回调机制 & 订阅队列长度

实验程序:talker.cc#include <std_msgs/Int32.h>#include <ros/ros.h>int main(int argc, char **argv) { ros::init(argc, argv, "talker"); ros::NodeHandle nh; std_msgs::Int32 data; data.data = 0; ros::Publisher pub = nh.adve.

2021-03-22 11:56:18 5476 4

原创 C++11多线程之互斥量(mutex)与条件变量(condition_variable)

示例程序条件变量和std::mutex合用,这是为了线程间通信。#include <iostream>#include <string>#include <thread>#include <mutex>#include <condition_variable> std::mutex m;std::condition_variable cv;std::string data;bool ready = false;bool

2021-03-21 16:34:42 4965

原创 ply格式点云读取及可视化

#include <pcl/io/ply_io.h>#include <pcl/visualization/pcl_visualizer.h>int main (int argc, char** argv) { pcl::PolygonMesh mesh; if (pcl::io::loadPLYFile("/home/alan/draco/testdata/bun_zipper.ply", mesh) == -1) { std::cerr << .

2021-03-18 19:43:55 1553

原创 基于模板的自动注册工厂模式(C++11实现)

工厂类factory.h#pragma once#include <functional>#include <memory>#include <unordered_map>template <typename T, typename... Args>class Factory { public: static Factory& Instance() { if (!instance_) { instanc

2021-03-15 21:22:37 1725

原创 判断点是否在矩形框(多边形)内

判断点是否在矩形内:只需要判断该点是否在上下两条边和左右两条边之间就行。判断一个点是否在两条线段之间夹着就转化成,判断一个点是否在某条线段的一边上,就可以利用叉乘的方向性,来判断夹角是否超过了180度 如下图只要判断(AB X AE ) * (CDX CE) >= 0 就说明E在AB,CD中间夹着,同理计算另两边DA和BC就可以了。最后就是只需要判断(AB X AE ) * (CD X CE) >= 0&& (DA X DE ) * (BC X BE...

2021-02-19 17:40:15 1441 1

原创 图(节点+边)可视化

一、简介DOT是一种文本图形描述语言。DOT语言文件通常具有.gv或是.dot的文件扩展名。当然,在编写好.dot或者.gv的文件之后,需要有专门的程序处理这些文件并将其渲染成为图片,dot就是其中一款程序,它可以将DOT语言描述的图形渲染成.png、.jpg、.pdf等多种类型。就像gcc之于c代码,g++之于cpp代码一样。二、DOT语法1、基本语法graph(无向图)或者digraph(有向图)表示图,然后{}中的内容是对图的描述,注释风格和C类似(“//”用于单行注释,/**/用于多

2021-02-19 17:34:02 1410 1

原创 激光雷达相关

禾赛64线激光雷达Pandar64线束分布图

2021-02-19 16:33:04 248

原创 Git高级用法

git中submodule子模块的添加、使用和删除https://blog.csdn.net/guotianqing/article/details/82391665

2021-01-28 19:26:25 162

原创 点云投影到参数几何模型(平面、圆柱等)

点云数据:bunny.txt(1)投影到平面SACMODEL_PLANE(三维平面)used to determine plane models. Thefourcoefficients of the plane are itsHessian Normal form: [normal_x normal_y normal_z d]a: the X coordinate of the plane's normal (normalized) b: the Y coordinate ...

2021-01-26 19:16:25 781

原创 PCL自定义点类型

point.h#pragma once#include <pcl/point_types.h>struct PointXYZIDRALT { // 定义点类型结构 PCL_ADD_POINT4D; // 该点类型有4个元素 float intensity = 0.0; float distance = 0.0; uint16_t ring = 0; uint16_t angle = 0; uint16_t label = 0; double timest

2021-01-18 17:51:02 461

原创 aws-sdk-cpp相关(aws dynamodb/s3/sqs c++用法)

1、安装aws-sdk-cppgit clone https://github.com/aws/aws-sdk-cpp.gitcd aws-sdk-cpp/mkdir buildcd build/cmake ..makesudo make install2、dynamodb使用cmake_minimum_required(VERSION 2.8)proje...

2021-01-13 17:35:41 1314

原创 使用matplotlib绘图

1、安装:sudo apt-get install python-matplotlib2、常用代码:import matplotlib.pyplot as plt#from matplotlib import pyplot as pltimport numpy as npx1 = [1, 3, 5, 7, 9]y1 = 2 * x1 + [1]x2 = list(ra...

2021-01-11 10:28:07 1631

原创 mongocxx相关(mongodb c++用法)

安装:http://mongocxx.org/mongocxx-v3/installation/

2020-12-20 16:34:51 2389 3

原创 GPS坐标系(WGS84)、火星坐标系(GCJ02)、百度坐标系(BD-09)的相互转换

参考:GCJ-02火星坐标系和WGS-84坐标系转换关系火星坐标、百度坐标、WGS84坐标转换代码(JS、python版)WGS-84:GPS坐标系GCJ-02:火星坐标系,国测局02年发布的坐标体系,高德,腾讯等使用。BD-09:百度坐标系,百度自研,百度地图使用。#!/usr/bin/python3# -*- coding: utf-8 -*-import jsonimport requestsimport mathkey = 'your key here' # 这里

2020-12-15 19:11:03 2829 1

原创 shell script 相关

bash命令速查表:https://github.com/skywind3000/awesome-cheatsheets/blob/master/languages/bash.sh常用:计算文件夹下文件的数目计算文件夹下指定后缀的文件数目文本处理:将文件夹下的文件名存到文本中仅保存指定列满足条件的行保留指定列按指定列排序ls | wc -l ...

2020-12-11 14:13:32 226

原创 boto3相关(aws dynamodb/s3/sqs python用法)

from boto3.dynamodb.conditions import Keyfrom botocore.exceptions import ClientErrorsession_args = {}session_args = { 'aws_access_key_id': 'abc', 'aws_secret_access_key': '123',} session = boto3.session.Session(**session_args)sessio.

2020-12-10 21:06:36 1038

原创 Python笔记

numpy中有两个函数可以用来读取文件,主要是txt文件,第一个是loadtxt, 其一般用法为numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)dtype=np.float32,dtyp...

2020-11-09 20:28:09 751

原创 随机数生成(均匀分布、正态分布、C++)

一、生成均匀分布的随机数1. rand生成的随机数在0到RAND_MAX(2147483647)之间,在stdlib中定义,使用 % 结合 / 可生成某个范围内的随机数,但是这里生成的随机数是唯一确定的。#include <iostream>int main () { for (int i = 0; i < 10; ++i) { std::cout << rand() << std::endl; } return 0;}.

2020-10-13 14:23:58 4030 1

原创 点云平面拟合及可视化

#include <pcl/io/pcd_io.h>#include <pcl/common/centroid.h>#include <pcl/segmentation/sac_segmentation.h>#include <pcl/visualization/pcl_visualizer.h>void visualization(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr clou...

2020-08-18 21:02:04 1688

原创 点云渲染及可视化 (pcl::visualization)

可PCLVisualizer视化类是PCL中功能最全的可视化类,与CloudViewer可视化类相比,PCLVisualizer更为复杂,具有更全面的功能,如显示法线、点云着色、绘制多种形状和开辟多个视口。点云素材:bunny.txt1、按照点云坐标x、y、z坐标值中字段给点云进行赋值渲染void visualization(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud) { pcl::visualization::PCLVisualiz.

2020-08-17 19:47:21 8352 4

原创 点云边缘提取及可视化

点云素材:bunny.txt#include <pcl/features/normal_3d.h>#include <pcl/features/boundary.h>#include <pcl/visualization/pcl_visualizer.h>void CreateCloudFromTxt(const std::string& file_path, pcl::PointCloud<pc

2020-08-17 16:46:33 4662 1

原创 点云法线计算及可视化

点云素材:bunny.txt#include <pcl/features/normal_3d.h>#include <pcl/visualization/pcl_visualizer.h>void CreateCloudFromTxt(const std::string& file_path, pcl::PointCloud<pcl::PointXYZ>::Ptr cloud) { std::if

2020-08-17 15:47:31 1510

原创 点云库PCL的使用

相关头文件:#include <pcl/io/io.h>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>#include <pcl/visualization/cloud_viewer.h>声明和定义点云对象:pcl::PointCloud<pcl::PointX...

2020-08-13 15:47:33 15900

原创 Eigen库使用(C++例程)

测试程序:#include<iostream>#include<Eigen/Eigen>using namespace std;#define pi 3.14159265359int main(){ cout << "##-------------------搞清旋转关系-------------------##" << en...

2020-07-31 21:16:45 11513

原创 迭代最近点 ICP 详细推导(C++实现)

一、简介 迭代最近点算法(Iterated Closest Points, ICP),顾名思义,就是采用迭代优化的思想以空间距离作为匹配点的选择依据,通过不断调整点云的位姿使得匹配点之间距离累计最小。假设有两组点云,其中一个目标点云A另一个为参考点云B,ICP算法的目的是为了算出一个最优的旋转矩阵R和平移向量t使得变换后的点云A能与B达到最精确的匹配。ICP算法因为其思想简单,精度高等特点成为了局部配准的主流算法。 ICP需要反复执行以下两步直至收敛:第一步,计算A点集与...

2020-07-20 19:39:46 11037 10

原创 自动驾驶地图定位工程师开发必备

笔记本mac:item2开发台式机:系统:ubuntu开发环境:vscode+Remote Development插件、vim+tmux版本控制:git编译工具:cmake、bazel三方库:谷歌全家桶(glog、gflags和gtest)

2020-07-12 12:37:50 392

原创 点云las格式转pcd格式(c++实现)

0、介绍liblas库是一个开源库,提供了一系列对Lidar数据.las格式的读写等操作函数。1、安装git clone https://github.com/libLAS/libLAS.gitcd libLAS/mkdir build && cd buildcmake ..makesudo make install2、查看点云信息sudo apt install liblas-binlasinfo test.las3、las格式转pcd格式ma.

2020-07-07 19:06:48 2587 2

原创 C++ 单元测试框架 Google Test (gtest)

一、安装git clone https://github.com/google/googletestcd googletestmkdir buildcd buildcmake .. -DCMAKE_CXX_FLAGS='-std=c++11' # 不指定c++11标准会报错makesudo make install安装完之后生成的头文件位于/usr/local/include/gtest/下,静态库文件(libgtest.a, libgtest_main.a)位于/usr/local/

2020-06-26 17:25:24 3906

原创 终端复用神器tmux

一、简介 tmux 是一个终端复用工具,用于在一个终端窗口中运行多个终端会话。为什么要用 tmux:想同时打开多个目录不得不开很多终端标签来回切换 开了一个 vim 窗口之后,想切到其他目录不得不重新打开个一个终端窗口 ssh 到服务器 运行一个脚本,服务器断掉失联之后当前进程被服务器给无情地杀掉,不得不用 nohup 等方式让脚本在后台跑 每次 ssh 到服务器都要重新切到工作目录,打开多个进程等,之前的工作记录会丢失 开发者使用终端的时候在鼠标和键盘之间来回移动和定位,不仅浪费..

2020-06-20 18:38:23 494 1

原创 kml相关

google my maps

2020-06-17 15:59:40 428

原创 利用openssl对数据进行md5加密 (Linux/C++)

一、Linux进行md5加密1、md5加密(1)交互式输入$ openssl OpenSSL> md5 1234abcd(stdin)= ef73781effc5774100f87fe2f437a435 #输入完后按crtl+d三次OpenSSL> md51234abcd (stdin)= 3d7e6a56bd7757aee22a30a1ca75cdd0 #输入完后按回车

2020-06-12 21:51:54 6697 1

原创 多线程并行

#include <iostream>#include <omp.h>#include <thread>#include <chrono>void print(size_t i) { std::this_thread::sleep_for(std::chrono::milliseconds(3000+i)); std::cout << i << ", thread id: " << std::ha.

2020-05-21 16:43:18 2418

macbook航拍屏保

macbook航拍屏保

2024-01-12

Stereo Visual Inertial Odometry with Online Baseline Calibration

双目msckf

2023-02-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除