- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 史上最全视觉SLAM资料及研究方向思路汇总
第一章 视觉SLAM学习总结1.1 书籍推荐(1)机器人必读经典书籍:Thrun S, Burgard W, Fox D. 《Probabilistic robotics》[M]. Cambridge, USA: MIT Press, 2005(概率机器人);《Principles of Robot Motion Theory,Algorithms and Implementation》。(2)会议论文文集:《Robotics: Science and Systems》. Cambr
2020-05-14 18:21:22 5085
原创 G20理论到ORB-SLAM优化实践
SLAM的后端一般分为两种处理方法,一种是以扩展卡尔曼滤波(EKF)为代表的滤波方法,一种是以图优化为代表的非线性优化方法。不过,目前SLAM研究的主流热点几乎都是基于图优化的。
2022-10-15 10:32:48 453 1
原创 我又回来搞SLAM了--《ORB-SLAM中涉及的一些C++知识》
前言:去年毕业,没有找到合适VSLAM岗,然后发了一个VSLAM弃坑贴《视觉SLAM终结贴》贡献了自己所学资料,没想到超过400个赞了。文中也写到后面有机会我会再回来的,没想到现在从事心爱的VLSAM工作也有几个月了。毕业这一年工作经历,也让我知道找个好的公司自己喜欢的工作真的很重要。所以,希望大家能够坚持下去做自己喜欢的东西。这阵子重新把ORB-SLAM2看了一遍,虽然感觉还是很菜,看的过程写成了一个思维导图,后面有时间打算以这个思维导图分模块进行解读。一来也是便于自己总结复习,二来也是希望帮助各位同学.
2022-01-12 16:12:53 455
原创 Java学习之面向对象
记录时间:2020年7月30日学习书籍:《实战Java程序设计》《实战Java程序设计》微信读书电子版配套视频:《Java课程300集》一、面向对象普通类、抽象类和接口的区别如下:■ 普通类:具体实现。■ 抽象类:具体实现,规范(抽象方法)。■ 接口:规范。1.抽象方法和抽象类抽象方法使用abstract修饰的方法,没有方法体,只有声明。它定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现。包含抽象方法的类就是抽象类。抽象类通过abstract方法定义规范,要求子类必须定义
2021-01-22 00:03:15 155
原创 7.虚函数
2018.6.5 11:131.指向对象的指针father *pfather=new son;//new son 构造了一个子类对象,在构造子类对象之前先构造父类对象,所以会先调用父类构造函数,然后调用子类构造函数pfather指针指向的是父类对象。son *p=new son.//指向子类对象的指针delete p;完整代码#include <iostream> using namespace std; class father{ public: father
2020-05-13 17:16:25 252
原创 6.c++之运算符重载
星期四, 17. 五月 2018 03:35下午####运算符重载重载前置自身构造函数void operator++(){++n;}++i;创建临时对象class num{num operatorr++(){ ++n; num t; t.set(n); return t;}}int main(){ num i; num x=++i;}**创建无名临时对象:**返回带有参数的构造函数。这种方法不可取取消创建临时对象:利用this指针const num &am
2020-05-13 17:15:23 148
原创 5.c++学习记录之深入函数(5.11)
###深入函数#####星期五, 11. 五月 2018 10:44上午成员变量的初始化与赋值1成员变量的赋值retangle(int l,int w){length=l,width=w;}//成员变量的赋值retangle a(3,4);//对象a在创建的时候调用了构造函数,构造函数通过接收参数l,w将3,4传递到函数体中,然后分别赋给了私有成员变量length和width,完成了对成员变量的赋值工作.>2.成员变量的初始化ractangle():length(3),width(4){
2020-05-13 17:15:00 158
原创 5.c++学习记录之复制构造函数
浅层复制构造函数:容易导致迷途指针问题A(const A&a)深层复制构造函数A(const A &&A){x=new int;x=(a.x);}//作用是将旧对象的成员指针X指向的空间处的数据赋给新对象的成员指针x指向的空间。复制的是指针指向空间处的数据而不是指针保存的地址,这样由于两个对象的成员指针分别保存两块内存区域的地址,指向不同的内存空间。运算符重载在成员函数实现自加...
2020-05-13 17:14:19 204
原创 4.c++学习记录之引用及函数传递
*星期二, 08. 五月 2018 09:10上午*引用引用就是别名.int &rnum=num;.//rnum就是num的别名,对rnum的操作就是对numde 操作引用就是别名常量,别名是外号,属于谁就是谁的,不可更改;别名的值是数据,数据是可以修改的.引用对象Human Mike;Human &rMike=Mike;//定义对象Mike的别名rMike但我们不能定义一个类的别名,因为类Human是一个类型,他没有具体的内存地址.Human &am
2020-05-13 17:13:51 133
原创 4.1c++学习记录之传递对象
c++学习记录之引用2018年5月9日14:39###传递对象**按值来传递对象:**默认调用复制构造函数class A{ ... A(); A(A&); ~A();}A func(A one);int main(){ A a; func(a); return 0;}A func(A one){ return one;}**按地址传递:**没有调用复制构造函数,也就没有输出复制构造函数的信息.int main() {
2020-05-13 17:13:14 233
原创 3.c++学习记录指针总结(2018年5月7日)
指针学习总结内联函数const 成员函数构造函数:可以创建多个构造函数.析构函数:没有返回值 不能有参数 只能有一个堆栈进栈顺序:被调用函数下一行的内存地址,其次是函数的参数,多个参数按照从右往左的顺序,最后是函数的局部变量.用指针创建堆中空间用关键字new创建一个堆并分配内存int *p;p=new int;//分配4个字节的空间int *p=new int*p=4//将4赋给存储区用指针删除堆中空间int *p=new int;delete p;//这
2020-05-13 17:12:28 157
原创 3.1c++学习记录之const总结
const总结常量:const double PI=3.14;const 成员函数:void print()const{return x};常量指针:int a=2;int *const p=&a;//它 的值不可以改变,但是指向的值是可以改变的,常量指针必须初始化A *const p=new A;指向常量的指针该指针指向的整型变量是不可以修改的,但是该指针可以被修改const int *p;const A* P=new A;P=P+1;指向常量的常指针
2020-05-13 17:10:02 143
原创 1.C++双冒号总结
::总结1.作用域符号::前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分如:A,B表示两个类,在A,B中都有成员member。那么A::member就表示类A中的成员memberB::member就表示类B中的成员member2.是C++里的“作用域分解运算符比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数
2020-05-13 17:07:45 242
原创 1 《c++学习记录》之命名空间/构造函数概念总结
###1.30 周二1.using std::cout;iostream.h是c语言的,可以不用std,使用new创建一个堆分配内存,在new后面跟一个要分配的对象类型,编译器根据这个类型来分配内存。int *pp=new int3.Human *p=new human 104mianp-> 访问成员函数###1.31周三1.构造函数的函数头进行初始化ractangle():length(3),width(4){函数要执行的功能}2.对每个成员变量的初始化工作
2020-05-13 17:06:46 241
原创 《深度学习》入门资料及MXNet数据操作入门
1.0参考资料吴恩达视频:https://mooc.study.163.com/course/2001281002#/infoGithub实战:https://github.com/Honlan/DeepInterestsKaggle 项目实战(教程) = 文档 + 代码 + 视频:https://github.com/linxid/kaggle书:《深度学习与计算机视觉》配套代码:h...
2018-11-15 11:33:38 255
原创 Eigen学习记录
Eigen学习记录 Eigen库由Ubuntu软件源中提供,通过apt命令可以很方便的安装Eigen。 sudo apt-get install libeigen3-dev Eigen与其他库不同,它是一个由头文件搭建起来的库,Eigen头文件的默认安装位置在“/usr/include/eigen3/”中。我们在使用时,只需引入Eigen头文件,不需要链接它的库文件,在...
2018-08-22 22:19:01 483
原创 ros学习记录
roscore启动报错:cy@pc:~$ roscoreWARNING: unable to configure logging. No log files will be generatedChecking log directory for disk usage. This may take awhile.Press Ctrl-C to interruptDone checking...
2018-08-22 22:05:39 672
原创 CMKAE总结
CMKAE总结cmake:生成一个makefile文件。 make:根据这个makefile文件的内容编译整个工程。 cmake . :在当前目录调用cmake进行分析mkdir build cd buildcmake ..:对上一称文件夹,也就是代码所在的文件夹进行编译.这样cmake产生的中间文件就会在build文件夹中,与源代码分开。cy.cpp#includ...
2018-08-21 22:03:41 620
原创 <<视觉slam十四讲>>学习记录(二):kde opecv等库安装和各种bug调试
标题 ##<<视觉slam十四讲>>学习记录(二):kde opecv等库安装和各种bug调试1.22周一 时间过得真快,一周就过去了,看到后面就越发现越难感觉都看不下去,然后周二正好找到高博之前在斗鱼直播的课程,结合着看才好了点,然后重新看了一遍,对旋转矩阵,变换矩阵,李代数这些都更了解了,不过一个人自学之路是坎坷的,一个小问题就要解决半天,希望坚持下去慢慢能有所长进吧。 对了,没想
2018-04-21 20:25:08 4237 4
原创 Ubuntu机器学习python实战(一)k-近邻算法
2018.4.18Python机器学习记录一.Ubuntu14.04安装numpy1.参考网址2.安装代码: 在安装之前建议更新一下软件源 :sudo apt-get update 如果python 2.7 没有问题 ,就可以进行下一步了 现在安装用于数值计算和绘图的包以及Sklearn 分别是numpy scipy matplotlib pan...
2018-04-21 17:01:15 294
原创 1.python学习第一天-爬取我的第一个网页
之前这学那学这浪费了好多时间,经过最后决定还是选择了学python,因为感觉python爬虫挺厉害的。希望大家吸取我的教训,要学一个东西时不要纠结选哪个,最终只会停步不前,勇敢迈出第一步。我是学电气专业的,对计算机挺感兴趣的,一直觉得自己非科班想系统的学,然后在网易云课堂等在线教育网站收藏了很多像数据结构的课程打算系统学习。殊不知,这样相当于自己跳入了一个打发的“系统课程”大缸里,不能自拔,结果最
2015-05-19 18:05:47 634 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人