- 博客(15)
- 资源 (4)
- 收藏
- 关注
原创 线性代数基础概念
1.转置以对角线为轴的镜像,这条从左上角到右下角的对角线称为主对角线。将矩阵A的转置表示为,定义为 2.矩阵的乘积向量可以被看做是只有一列的矩阵,向量的转置可以被看做一行的矩阵,俩个相同维数的向量x和y的点击可看作是矩阵乘积,即 。服从分配率:A(B+C)=AB+AC; 服从结合率:A(BC)=(AB)C; 矩阵乘积的转置有着简单的形式: 需要注意的是:矩阵的乘积不服从交换律,即AB不等于B
2017-08-30 22:42:18 2959
原创 面向对象(五)——类的多态
1.基类的指针(请注意,指针的赋值是需要同类型地址的)继承的好处是一个指向子类的指针与一个指向基类的指针是类型兼容的(type-compatible) 继承的好处是一个指向子类的指针与一个指向基类的指针是type-compatible的,如以下代码所示:#include <iostream>using namespace std;class Cfather{protected: in
2017-08-30 15:04:10 444
原创 面向对象(四)——继承
1.类之间的继承类的一个重要的特征是继承,这使得我们可以基于一个类生成另外一个类的对象,以便使后者拥有前者的某些成员,再加上自己的一些成员。由其他类引申而来的子类继承基类的所有可视成员。意思是说,如果一个基类包含成员A,而我们将它引申为另一个包含成员B的类,这个子类同时包含A和B 定义一个子类,必须在子类的申明中使用冒号操作符“:”,如下所示: class derived_class : pub
2017-08-30 09:55:19 411
原创 面向对象(三)——友元函数和友元类
1.友元函数类里面分别有三个内部保护:分为public、protected和private,但是外部函数只能访问到public的内容,而protected(友元函数和子类)和private(友元函数)通过友元函数访问,关键字friend。我们可以允许一个外部函数获得访问class的protected和private的能力。为了允许一个外部函数访问class的private和protected成员,必
2017-08-30 09:52:16 578
原创 面向对象(二)——操作符重载 & 关键字this & 静态成员static
1.要想重载一个操作符,我们只需要编写一个成员函数,名为operator,后面跟我们要重载的操作符,遵循一下原型定义:type operator sign(parameters);//如CVector operator+(Cvector); 即函数operator+返回值类型的值#include <iostream>using namespace std;class Cadd{public:
2017-08-30 09:43:59 391
原创 面向对象(一)——类
1.类的结构如下:class class_name{ //类名称,用户定义的 public://public成员,任何看到这个类的都可以使用该成员 member1;//可以是函数,也可以是数据private://只有同一个class的其他成员或者该class的友元/friend class才能访问 member2;......protect:
2017-08-30 09:36:01 506
转载 ubuntu下qt debug一直处于lauching Debugger(启动debugger)
Linux下使用QT,终端不显示输出的解决办法 QT默认终端设置:工具–选项–环境 为“x-terminal-emulator -e”,需要修改为”/usr/bin/xterm -e”,这是Ubuntu的一个BUG(Bug #566387)。lauching Debuggerdebug的一些快捷键:调试 F5(Debug)停止调试 Shift+F5单步跳过 F10单步进入 F11单步跳出 S
2017-08-18 17:04:10 3548
原创 C++中的static
static分为面向过程程序设计的static和面向对象的static,前者用于普通变量和函数,不涉及类,后者说明了static在类中的作用。面向过程静态全局变量 在全局变量前面加static,如下:#include<iostream>usingnamespace std;void fn(); //声明函数static int n; //--声明静态全局变量--void main()
2017-08-16 15:57:43 887
转载 C++ 文档读取
假设有一个叫 data.txt 的文件, 它包含以下内容: Fry: One Jillion dollars.[Everyone gasps.]Auctioneer: Sir, that's not a number.数据读取, 测试 。以下就是基于 data.txt 的数据读取操作:#include <iostream>#include <fstream>#include <string
2017-08-12 22:22:18 822
原创 通过Cmake创建动态库xxx.so
在根目录下创建一个package,这里命名为cmake_pra,同时在该目录下创建以下packages,如下图所示:其中CMakelists内容如下:cmake_minimum_required(VERSION 2.8) //camke版本PROJECT(DEPTHLIB) // 工程名ADD_SUBDIRECTORY(lib) //编译输出位置,生成的库所在的文件目录,这里是build/lib
2017-08-10 15:45:49 9951 1
原创 CMake
1.cmake就是linux下的C++管理工具,简单的代码你可以用g++一条条敲,再多些可以用Makefile来管理,cmake就是自动生成makefile的工具,比makefile集成度更高一些2.bin 用来放编译好的可执行二进制文件。 src 用来放源代码。 lib 用来放编译好的库文件。 include 用来放头文件。3.Cmakelist结构:这里写代码片
2017-08-07 16:38:27 460
原创 关于解决libopencv_core.so.2.4, needed by /../libcv_bridge.so, may conflict with libopencv_core.so.3.1
当使用opencv3.1版本的时候,有时候会出现问题。原因是在安装ros-indigo-desktop-full 的时候有些package依赖于opencv2.4.8,例如cv_bridge or image_pipeline等package 。#include <ros/ros.h>#include <image_transport/image_transport.h>#include <op
2017-08-06 13:07:43 11150
原创 运行roscore时出现error while loading shared libraries:libroscpp.so
今天使用ROS的时候,执行roscore,发现出现以下问题:重装了ROS但发现问题并没有解决,最后发现其实是装某些库的时候把路径给改了,运行以下命令即可解决:LD_LIBRARY_PATH=/opt/ros/indigo/lib再重新运行 roscore,运行正常:
2017-08-05 17:19:49 6208 12
原创 SLAM学习——建图(二)
1.对单目构建稠密地图的讨论像素梯度的问题在前面中,通过块匹配来获得匹配结果。块匹配的正确与否,依赖于图像块是否具有区分度,有明显梯度的小块将具有良好的区分度。对于梯度不明显的像素,将比较难估计其有效深度。立体视觉一个常见问题:对物体纹理的依赖性。像素梯度与极线的关系:像素梯度平行于极线方向以及垂直于极线方向。 像素梯度垂直于极线:当沿极线寻找的时候,发现匹配程度是一样的,得到不到有效匹配。
2017-08-05 16:51:19 10733
原创 SLAM学习——建图问题(一)
1.单目稠密地图的构建在上述中,我们讨论的是稀疏地图的构建,但是在实际的定位、导航和壁障过程中,我们需要有稠密地图。常见的单目稠密地图的构建思路有: 1.单目:通过运动,得出运动轨迹,计算出运动的关系,通过三角测量计算出像素深度。(同下) 2.双目:利用俩个相机的视差计算出像素的深度。(吃力不讨好,但是大型场合可能有比较好的效果。) 3.RGBD:自带深度图,可直接得到像素的深度。(比较好,但
2017-08-03 10:30:25 7442 3
Opencv2链接CUDA9.0中cmake修改版
2019-05-29
图优化工具,G2o
2018-09-26
《Robotics, Vision and Control — Fundamental Algorithms in MATLAB》
2018-04-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人