自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (5)
  • 收藏
  • 关注

原创

目录宏那些事1.宏中包含特殊符号1.1 字符串化操作符(#)1.2 符号连接操作符(##)1.3 续行操作符(\)1.4 完整例子2.do{...}while(0)的使用2.1 避免语义曲解2.2避免使用goto控制流2.3 避免由宏引起的警告2.4 定义单一的函数块来完成复杂的操作宏那些事1.宏中包含特殊符号分为几种:#,##,\1.1 字符串化操作符(#)在一个宏中的参数前面使用一个#,预处理器会把这个参数转换为一个字符数组,换言之就是:#是“字符串化”的意思,出现在宏定义中的#是把跟在后面的

2020-08-28 22:42:50 187

原创 指针+引用

目录引用与指针那些事1.引用与指针2.引用左值引用右值引用引用折叠3.指针与引用的性能差距3.总结引用与指针那些事1.引用与指针总论:引用指针必须初始化可以不初始化不能为空可以为空不能更换目标可以更换目标引用必须初始化,而指针可以不初始化。我们在定义一个引用的时候必须为其指定一个初始值,但是指针却不需要。int &r; //不合法,没有初始化引用int *p; //合法,但p为野指针,使用需要小心引用不能为空,而指针可以

2020-08-28 22:41:30 370

原创 friend友元

目录友元函数与友元类0.概述1.友元函数2.友元类3.注意友元函数与友元类0.概述友元提供了一种 普通函数或者类成员函数 访问另一个类中的私有或保护成员 的机制。也就是说有两种形式的友元:(1)友元函数:普通函数对一个访问某个类中的私有或保护成员。(2)友元类:类A中的成员函数访问类B中的私有或保护成员优点:提高了程序的运行效率。缺点:破坏了类的封装性和数据的透明性。总结:能访问私有成员破坏封装性友元关系不可传递友元关系的单向性友元声明的形式及数量不受限制1.友元函数在类声

2020-08-28 22:38:52 330

原创 C和C++中的struct

目录一文搞懂C和C++中struct1.C中struct2.C++中struct3.总结C和C++中的Struct区别C++中的struct和class的区别一文搞懂C和C++中struct1.C中struct在C中struct只单纯的用作数据的复合类型,也就是说,在结构体声明中只能将数据成员放在里面,而不能将函数放在里面。在C结构体声明中不能使用C++访问修饰符,如:public、protected、private 而在C++中可以使用。在C中定义结构体变量,如果使用了下面定义必须加struc

2020-08-28 22:37:51 4512

原创 extern

目录extern "C"1.C++与C编译区别2.C++调用C函数2.C中调用C++函数extern “C”1.C++与C编译区别在C++中常在头文件见到extern "C"修饰函数,那有什么作用呢? 是用于C++链接在C语言模块中定义的函数。C++虽然兼容C,但C++文件中函数编译后生成的符号与C语言生成的不同。因为C++支持函数重载,C++函数编译后生成的符号带有函数参数类型的信息,而C则没有。例如int add(int a, int b)函数经过C++编译器生成.o文件后,add会变成形如a

2020-08-28 22:08:54 149

原创 assert

assert那些事1.第一个断言案例断言,是宏,而非函数。assert 宏的原型定义在 <assert.h>(C)、(C++)中。其作用是如果它的条件返回错误,则终止程序执行。可以通过定义 NDEBUG 来关闭 assert,但是需要在源代码的开头,include <assert.h> 之前。void assert(int expression);#include <stdio.h> #include <assert.h> int main

2020-08-28 22:07:21 132

原创 从零开始激光slam定位【1】- 激光里程计

目录里程计流程front_end_node.cpp的注释可视化debug参考里程计流程1、如果当前帧是第一帧,那么将其看做关键帧,进行关键帧更新2、关键帧更新都做了什么?更新local_map队列,更新local_map,更新ndt的target_cloud。3、如果不是第一帧,那么将其与local_map进行ndt配准,配准的所需要的guess_pose是根据匀速运动模型进行计算的。4、配准得到当前帧的pose,利用当前帧和上一阵的pose,结合匀速运动模型得到下一次配准的guess_pose;

2020-08-26 23:42:53 3698 2

原创 VS Code常用功能总结

VS Code常用快捷键总结VS Code配置ROS

2020-08-26 23:21:16 471

转载 About_virtual

目录virtual那些事1.虚函数与运行多态2.vptr与vtable3.虚函数中默认参数4.可以不可以5.RTTI与dynamic_cast6.纯虚函数和抽象类virtual那些事1.虚函数与运行多态对应的代码:emp.cpp虚函数的调用取决于指向或者引用的对象的类型,而不是指针或者引用自身的类型。2.vptr与vtable多态是如何体现的?每个含有虚函数的类都有一个虚函数表,在实例化的时候,内存区域的第一块就是存放的该虚函数表的地址,当该对象调用虚函数时,就去虚函数表中查找。3.虚函

2020-08-24 21:51:28 147

原创 slam去畸变(径向畸变)

目录畸变径向畸变切向畸变去畸变原理代码参考畸变产生原因:透镜不能完全满足针孔模型假设径向畸变畸变程度都是从中心开始,用一个半径画圆的话,半径越大,圆周上的畸变程度也越大。这个就是由于相机透镜的形状导致的,且越向透镜边缘移动径向畸变越严重。切向畸变切向畸变是由于透镜和CMOS或者CCD的安装位置误差导致。看下面的图,因此,如果存在切向畸变,一个矩形被投影到成像平面上时,很可能会变成一个梯形。不过随着相机制造工艺的大大提升,这种情况很少出现了,我们一般也不考虑切向的畸变。去畸变原理大致思路是

2020-08-22 18:30:24 1151 1

原创 纯虚函数和抽象类

纯虚函数和抽象类注意:多态实现的关键是虚函数表。(每一个有虚函数的类,在该类对象的内存的第一块就是存放的虚函数表的地址)在使用基类指针指向派生类对象时,需要将基类的析构函数添加virtual关键字,将其变为虚析构函数。(否则在删除基类指针指向的额派生类对象时,只会调用基类的析构函数,会造成内存泄漏)在抽象类的成员函数内部可以调用纯虚函数(多态),而在构造和析构函数内部不能调用纯虚函数(非多态,抽象类中的该函数无函数体,不可调用)1.纯虚函数与抽象类C++中的纯虚函数(或抽象函数)

2020-08-22 12:36:31 1295

原创 sizeof

目录类大小计算1.原则12.原则23.原则34.原则4与55.原则6类大小计算首先来个总结,然后下面给出实际例子,实战!空类的大小为1字节Byte(8bit)一个类中,虚函数本身、成员函数(包括静态与非静态)和静态数据成员都是不占用类对象的存储空间。对于包含虚函数的类,不管有多少个虚函数,只有一个虚指针,vptr的大小。普通继承,派生类继承了所有基类的函数与成员,要按照字节对齐(以读取速度来换取空间的方式)来计算大小虚函数继承,不管是单继承还是多继承,都是继承了基类的vptr。(32位操作系

2020-08-22 12:35:36 110

原创 this指针那些事儿

目录this指针那些事1.this指针this指针那些事1.this指针相信在坐的很多人,都在学Python,对于Python来说有self,类比到C++中就是this指针,那么下面一起来深入分析this指针在类中的使用!首先来谈谈this指针的用处:(1)一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。(2)this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写

2020-08-22 12:34:47 174

转载 inline那些事儿

目录inline那些事1.类中内联2.虚函数(virtual)可以是内联函数(inline)吗?inline那些事1.类中内联头文件中声明方法class A{public: void f1(int x); /** * @brief 类中定义了的函数是隐式内联函数,声明要想成为内联函数,必须在实现处(定义处)加inline关键字。 * * @param x * @param y */ void Foo(int x,in

2020-08-22 12:33:04 195

原创 static那些事儿

static那些事当与不同类型一起使用时,Static关键字具有不同的含义。我们可以使用static关键字:静态变量: 函数中的变量,类中的变量静态类的成员: 类对象和类中的函数现在让我们详细看一下静态的这些用法:静态变量函数中的静态变量当变量声明为static时,空间将在程序的生命周期内分配。即使多次调用该函数,静态变量的空间也只分配一次,前一次调用中的变量值通过下一次函数调用传递。这对于在C / C ++或需要存储先前函数状态的任何其他应用程序非常有用。#include <io

2020-08-21 10:45:37 180

原创 const那些事儿

目录1、const含义2、const作用3、const对象默认为文件局部变量4、定义常量4、指针与const6、函数中使用const7、类中使用const1、const含义常类型是指使用类型修饰符const说明的类型,是只读的(不能更新),这意味着需要在定义的时候就要赋初值。2、const作用定义常量const int a=100;注意:要记得在定义的时候赋值(初始化)类型检查const是定义的变量,是有数据类型的,而define定义的对象没有数据类型,所以编译器对前者进行安全检查

2020-08-20 21:05:46 184

原创 【论文阅读】2017-Segmentation-Based Classification for 3D PointClouds in the Road Environment

2017-Segmentation-Based Classification for 3D PointClouds in the Road EnvironmentBinbin Xiang1, Jian Yao1,∗, Xiaohu Lu1, Li Li1, Renping Xie1, and Jie Li21 Computer Vision and Remote Sensing (CVRS) Lab, School of Remote Sensing and Information Engineerin

2020-08-18 19:36:33 657

原创 C++计时

目录简介方法1(time.h)方法2(sys/time.h)结果简介简单介绍c++的计时方法方法1(time.h)无使用环境的限制#include <time.h> // 计时模块time_t start,end; // 计时start=clock();...end=clock();std::cout<<"DBSCAN time: "<<(end-start)/1000<<" ms"<<s

2020-08-16 17:20:30 6516 1

原创 【睿慕课点云处理】第十一章-基于深度学习的点云重识别与重定位方法

目录课程作业课程课程汇总作业

2020-08-15 22:57:25 963

转载 Ubuntu实用小插件

https://www.jianshu.com/p/9a21d8749c44

2020-08-11 00:51:02 1038

原创 14dayPythonTask9-文件与文件系统

1. 文件与文件系统打开文件open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True) Open file and return a stream. Raise OSError upon failure.file: 必需,文件路径(相对或者绝对路径)。mode: 可选,文件打开模式buffering: 设置缓冲encoding: 一般使用utf8errors: 报

2020-08-08 23:42:08 138

原创 14dayPythonTask8-模块+data类

目录模块1. 什么是模块2. 命名空间3. 导入模块4. `if __name__ == '__main__'`5. 搜索路径6. 包(package)datetime模块1. datetime类2. date类3. time类4. timedelta类模块在前面我们脚本是用 Python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了。为此 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块(

2020-08-07 21:34:02 130

原创 14dayPythonTask7-类与对象+魔法函数

目录类与对象1. 对象 = 属性 + 方法2. self 是什么?3. Python 的魔法方法4. 公有和私有5. 继承6. 组合7. 类、类对象和实例对象8. 什么是绑定?9. 一些相关的内置函数(BIF)练习题魔法方法1. 基本的魔法方法2. 算术运算符3. 反算术运算符4. 增量赋值运算符5. 一元运算符6. 属性访问7. 描述符8. 定制序列9. 迭代器10. 生成器类与对象1. 对象 = 属性 + 方法对象是类的实例。换句话说,类主要定义对象的结构,然后我们以类为模板创建对象。类不但包含方

2020-08-04 21:21:34 228

原创 14dayPythonTask6-函数+lambda关键字

函数与Lambda表达式1. 函数函数文档函数参数函数的返回值变量作用域2. Lambda 表达式匿名函数的定义匿名函数的应用练习题1. 函数还记得 Python 里面“万物皆对象”么?Python 把函数也当成对象,可以从另一个函数中返回出来而去构建高阶函数,比如:参数是函数(tensorflow中常用到,比如PointNet的train函数被视为字典的value输入到其他函数中)返回值是函数函数文档def MyFirstFunction(name): "函数定义过程中name是形

2020-08-02 23:14:08 199

原创 python中的deep copy 和 copy

目录deep copy 和 copypython实现list 的 deep copydeep copy 和 copy参考:https://blog.csdn.net/wuzhongqiang/article/details/106490041深拷贝:与原集合彻底无关联浅拷贝:与原集合的最外面一层没有关联,但是对于list中的list是指向的同一块内存【浅拷贝例子】# 再创建一个新的列表,也是列表套列表a = [1, 2, [3, 4, 5]]ac = a.copy() # ac是a的一个

2020-08-02 23:11:29 541

三维点云4 - 副本.zip

实现地面分割+欧式聚类+boundingbox

2020-05-23

ISPRS数据集.zip

ISPRS官网数据集.zip

2020-04-01

pointcloud xyz label 新建文件夹.zip

xyz label格式的点云 可以用于训练和预测

2020-04-01

HuangshiRoad-dataset-master.zip

x y z label类型的点云数据

2020-04-01

labelledPointCloud.zip

分类好的点云数据 labelledPointCloud.zip

2020-03-03

空空如也

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

TA关注的人

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