自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(153)
  • 资源 (1)

原创 父类析构函数必须设置成虚函数

将可能会被继承的父类的析构函数设置为虚函数,可以保证当我们new一个子类,然后使用基类指针指向该子类对象,释放基类指针时可以释放掉子类的空间,防止内存泄漏class Parent{public: virtual ~Parent() { cout << "delete Parent" << endl; }};class Child : public Parent{public: virtual ~Child()

2020-09-03 10:14:36 49

原创 ubuntu16.04 wifi被禁用

1.问题描述:Ubuntu桌面显示WiFi接口被禁用在终端输入:rfkill list all输出0:ideapad_wlan: Wireless LANSoft blocked: noHard blocked:yes1:ideapad_bluetooth: BluetoothSoft blocked: noHard blocked: yes2:phy0: Wireless LANSoft blocked: noHard blocked:no3:hci0: BluetoothS

2020-08-12 12:44:44 124

原创 拷贝构造函数与赋值构造函数

1.拷贝构造函数,调用的场景;一个对象以值传递的方式传入函数体,一个对象以值传递的方式从函数返回,一个对象需要通过另外一个对象进行初始化,包括=号和()两种构造形式。2.赋值构造函数,用来将一个对象赋值给另外一个对象:深拷贝,将对象中的动态内存拷贝过来;浅拷贝,两个对象的共用相同的动态内存,容易出现内存重复释放等错误;例子:#include <iostream>#include <cstdio>#include <cstring>#inclu

2020-08-03 14:35:44 34

原创 字符数组和字符常量的区别

#include <stdio.h>int main(){ //字符数组,储存在全局数据区或者栈区,具有读取和写入权限 { char pName[] = "shougonggen"; *(pName) = 'T'; printf("Name:%s\n",pName); } //字符常量,储存在内存中的常量区,只有读取权限,没有写入权限 { char* pName = "shougonggen"; *(pName) = 'T'

2020-08-03 10:29:29 35

原创 ORBSLAM2学习笔记11(Sim3Solver)

Sim3Solver.h/*** This file is part of ORB-SLAM2.** Copyright (C) 2014-2016 Raúl Mur-Artal <raulmur at unizar dot es> (University of Zaragoza)* For more information see <https://github.com/raulmur/ORB_SLAM2>** ORB-SLAM2 is free software:

2020-07-17 10:37:53 96

原创 ORBSLAM2学习笔记10(ORBmatcher)

特征点的方向一致性检测直方图Histogram将两个要匹配的特征点的方向做差得到ro,将rot转换到0-360度,设定一个直方图,直方图的HISTO_LENGTH即条形的个数设置为30,0-360分布在30个bins中,即每个bin代表12度.然后根据角度差将n对匹配特征点分布在直方图中,在直方图中找出三个匹配特征点最多的直方图bin,最后将不属于这三个bin的匹配关系删除.如下图ORBmatcher.h/*** This file is part of ORB-SLAM2.** Copyri

2020-07-15 18:11:58 163

原创 ORBSLAM2学习笔记9(Optimizer)

Optimizer.h/*** This file is part of ORB-SLAM2.** Copyright (C) 2014-2016 Raúl Mur-Artal <raulmur at unizar dot es> (University of Zaragoza)* For more information see <https://github.com/raulmur/ORB_SLAM2>** ORB-SLAM2 is free software: y

2020-07-14 13:38:54 175

原创 ORBSLAM2学习笔记8(MapPoint)

MapPoint.h/*** This file is part of ORB-SLAM2.** Copyright (C) 2014-2016 Raúl Mur-Artal <raulmur at unizar dot es> (University of Zaragoza)* For more information see <https://github.com/raulmur/ORB_SLAM2>** ORB-SLAM2 is free software: yo

2020-07-13 16:26:48 106

原创 ORBSLAM学习笔记7(ORBextractor)

圆patchstatic float IC_Angle(const Mat& image, Point2f pt, const vector<int> & u_max)这个函数主要就是计算这个圆patch的图像矩,计算方向向量ORBextractor.h/*** This file is part of ORB-SLAM2.** Copyright (C) 2014-2016 Raúl Mur-Artal <raulmur at unizar dot .

2020-07-13 16:05:29 132

原创 ORBSLAM2学习笔记6(LoopClosing)

LoopClosing.h/*** This file is part of ORB-SLAM2.** Copyright (C) 2014-2016 Raúl Mur-Artal <raulmur at unizar dot es> (University of Zaragoza)* For more information see <https://github.com/raulmur/ORB_SLAM2>** ORB-SLAM2 is free software:

2020-07-08 11:18:03 105

原创 ORBSLAM2学习笔记5(LocalMapping)

LocalMapping.h/*** This file is part of ORB-SLAM2.** Copyright (C) 2014-2016 Raúl Mur-Artal <raulmur at unizar dot es> (University of Zaragoza)* For more information see <https://github.com/raulmur/ORB_SLAM2>** ORB-SLAM2 is free software

2020-07-06 10:49:36 117

原创 ORBSLAM2学习笔记4(Initializer)

单目初始化的类Initializer.h/*** This file is part of ORB-SLAM2.** Copyright (C) 2014-2016 Raúl Mur-Artal <raulmur at unizar dot es> (University of Zaragoza)* For more information see <https://github.com/raulmur/ORB_SLAM2>** ORB-SLAM2 is free s

2020-07-03 16:00:13 84

原创 ORBSLAM2学习笔记3(Tracking)

Tracking类主要需要搞懂四种跟踪模式:1.TrackWithMotionModel2.TrackReferenceKeyFrame3.TrackLocalMap4.RelocalizationTracking.h/*** This file is part of ORB-SLAM2.** Copyright (C) 2014-2016 Raúl Mur-Artal <raulmur at unizar dot es> (University of Zaragoza)

2020-07-01 10:07:26 112

原创 ORBSLAM2学习笔记2(KeyFrame)

**void KeyFrame::SetBadFlag()**函数图解KeyFrame.h/*** This file is part of ORB-SLAM2.** Copyright (C) 2014-2016 Raúl Mur-Artal <raulmur at unizar dot es> (University of Zaragoza)* For more information see <https://github.com/raulmur/ORB_SLAM2&g

2020-06-28 14:26:39 197

原创 ORBSLAM2学习笔记1(Frame)

Frame.h文件/*** This file is part of ORB-SLAM2.** Copyright (C) 2014-2016 Raúl Mur-Artal <raulmur at unizar dot es> (University of Zaragoza)* For more information see <https://github.com/raulmur/ORB_SLAM2>** ORB-SLAM2 is free software: you

2020-06-27 17:07:59 182

原创 将一个整数转换为16进制的字符串

在Windows下面有_ultoa_s函数的将一个整数转换为16进制的字符串,在Linux下面没有这个函数,需要用到sprintf这个函数,如下代码所示#include <iostream>#include <cstdlib>#include <cstdio>//将一个整数转换为16进制的字符串using namespace std;int main(int argc, char* argv[]){ if (argc < 2) {

2020-06-18 14:02:10 145

原创 GPS经纬度坐标转UTM坐标(c++)

UTM的简单介绍我们在地理课上学过用经纬度表示在地球上的坐标,这种表示方法适合在一个三维的地球曲面上描述一个坐标,但是如果我们想在二维的平面上描述一个地理坐标应该怎么做呢?首先是将地球曲面投影到平面上如下图在地球中心为投影中心,向圆柱形进行射线的投影,然后将圆柱形的侧面进行展开,就可以得到一个平面投影的坐标。如下图所示就是一幅世界的平面地图,正如我们平时看到的地图2.将平面分成许多个cell,叫做zoneUTM的东北坐标只有两个数字,还需要zone的区间号才能转换为经纬度坐标因此准确

2020-06-18 10:42:01 794

原创 C++高斯噪声生成函数

高斯生成生成函数欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入double gauss_rand(double mean, double sigma){ double x, y, r2;

2020-06-17 17:30:31 613

原创 在windwos环境下用gcc编译boost动态库

之前在网上也下过一些别人编译好的boost动态库或者静态库文件,发现都不是很好用,因此决定自己重新编译。1、下载boost库下载最新的boost库,下载地址:http://www.boost.org/users/download/ 解压,得到boost库的源代码,得到boost_1_65_1文件。2、配置编译环境首先需要安装gcc编译器,因为我在windows系统上已经安装了带有mingw(gc

2017-12-12 09:33:29 1504 2

原创 async_read_until函数以及streambuf如何使用

async_read_until在用读取串口的时候我使用了async_read_until函数,具体为 boost::asio::async_read_until(sp, rec_buf, ‘#’, boost::bind(&BaseControl::HandleRead, this, _1, _2)); 本来以为这个函数会读到’#’就自动返回,但是实际的情况是,读到’#’之后还会读取更多的

2017-11-09 17:13:37 3630

原创 jsoncpp 解析json

JSON(JavaScript Object Notation)跟xml一样也是一种数据交换格式,了解json请参考其官网http://json.org/,本文不再对json做介绍,将重点介绍c++的json解析库的使用方法。json官网上列出了各种语言对应的json解析库。下面的教程会介绍如何用jsoncpp库来解析json数据。1、安装jsoncpp下载:git clo

2017-05-28 16:12:51 873

原创 Boost库学习

Boost学习资源:英文网站:https://theboostcpplibraries.com/中文网站:http://zh.highscore.de/cpp/boost/

2017-05-28 14:41:41 640

原创 Rviz可视化交互之Menu

#!/usr/bin/env python#coding=utf-8"""关于菜单的简单例子"""import rospy#导入视觉显示消息from visualization_msgs.msg import *#导入交互Marker服务from interactive_markers.interactive_marker_server import *#导入菜单库函数

2017-04-28 19:07:56 1173

原创 Rviz可视化交互之Maker(二)

#!/usr/bin/env python#coding=utf-8import rospy#导入交互marker服务端from interactive_markers.interactive_marker_server import *#导入视觉消息from visualization_msgs.msg import *#交互毁掉函数def processFeedbac

2017-04-28 16:45:05 1119

原创 Rviz可视化交互之Maker(一)

#!/usr/bin/env python#coding=utf-8"""这个例子是简单的在Rviz中显示一个Marker"""import rospy#导入显示消息类型,这里主要是Marker消息类型from visualization_msgs.msg import *#mainif __name__=="__main__": #初始化节点,anonymous为

2017-04-28 15:12:53 3155 1

原创 ROS障碍层的无法清除干净的处理办法

使用DWA创建地图的时候,发现障碍层的地图无法清除干净,在网上找了许久也找不到解决的办法,最后通过查看源码解决了这个问题。查看这个链接的时候:http://answers.ros.org/question/30014/costmap-clearing-of-obstacles/时候大概发现了问题的原因。是因为当激光雷达的数据在达到最大的距离的时候,会出现无法清除障碍物的现象。    于是自己仿

2017-04-16 12:16:57 4648 3

原创 linux系统的库文件的创建和链接

创建目录及文件结构如下:├── include│   └── hello.h├── lib│   └── hello.c└── src └── main.c其中:源文件hello.h:#include void hello(){ printf("hello world!\n");}头文件:#ifndef _HELLO_H_

2017-04-12 23:01:19 723

原创 python在函数的修改变量值

和其他语言不一样,传递参数的时候,python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象--相当

2017-03-30 09:32:49 10782

转载 Linux的固定USB串口

查询串口号[html] view plain copy print?python -m serial.tools.list_ports  查询串口号后,根据串口号列出串口详细信息,如:[html] view plain copy print?udevadm info /dev/ttyUSB0  返回: 

2016-11-29 20:00:35 3643

原创 geany配置

geany是linux下一个很好的编辑器,下面是安装和配置的方案安装:sudo apt-get install geany下载颜色配置文件:http://wiki.geany.org/themes/start进入~/.config/geany目录下,将文件解压,将其中的colorschemes和filedefs拷贝到对应的文件下。重启geany即可使用

2016-11-29 19:21:24 9197

转载 OpenCV 2.4.9在Ubuntu下的配置与安装

OpenCV 2.4.9在Ubuntu下的配置与安装surgewong@gmail.comhttp://blog.csdn.NET/surgewong      每次学习新东西或者换新的电脑,最让人头疼的就是环境的安装了。网上有一大堆教程,不过总地来讲,比较混乱,有些甚至有误导性,当然也不乏一些有质量的博客。为了方便自己以后重复安装以及能够帮助到有需要的朋友,在此将相关有用

2016-11-27 21:58:35 676

转载 ubuntu apt-get apt-cache命令

apt-get命令本身并不具有管理软件包功能,只是提供了一个软件包管理的命令行平台。在这个平台上使用更丰富的子命令,完成具体的管理任务。apt-get命令的一般语法格式为: Sh代码  apt-get  subcommands  [ -d | -f | -m | -q | --purge | --reinstall | - b | - s | - y | - u

2016-11-27 21:26:15 317

转载 pkg-config命令详解

pkg-config命令详解返回已安装库文件的元信息。环境变量:PKG_CONFIG_PATH。pkg-config将在该变量下查找所有的.pc文件。此外,它还会查找/usr/lib/pkgconfig/下的.pc文件。pkg-config works on multiple platforms: Linux and other UNIX-like operating

2016-11-27 21:08:07 3028

原创 Linux库的搜索路径

1、linux默认库搜索路径是/lib和/usr/lib;2、/etc/ld.so.conf中指定的动态库搜索路径;这个文件的每一行都是动态库的搜索路径。3、编译目标代码时指定的动态库搜索路径;在编译目标代码时指定程序的动态库搜索路径。这是通过gcc 的参数"-Wl,-rpath,"指定(如例3所示)例如: gcc -o pos main.c -L. -lpos -Wl

2016-11-27 21:06:09 470

转载 TLD视觉跟踪

本文转自:http://blog.sina.com.cn/s/blog_6163bdeb0102eh7b.htmlTLD算法好牛逼一个,这里有个视频,是作者展示算法的效果,http://www.56.com/u83/v_NTk3Mzc1NTI.html。下面这个csdn博客里有人做的相关总结,感觉挺好的,收藏了!下面有个Compressive Tracking的网址,提供的代码很少,但

2016-11-27 14:19:08 606

转载 SLAM方法汇总

SLAM概述SLAM一般处理流程包括track和map两部分。所谓的track是用来估计相机的位姿,也叫front-end。而map部分(back-end)则是深度的构建,通过前面的跟踪模块估计得到相机的位姿,采用三角法(triangulation)计算相应特征点的深度,进行当前环境map的重建,重建出的map同时为front-end提供更好的姿态估计,并可以用于例如闭环检测.

2016-11-26 18:33:36 3484

转载 python 在不同层级目录import 模块的方法

Python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。下面将具体介绍几种常用情况:(1)主程序与模块程序在同一目录下:如下面程序结构:`-- src    |-- mod1.py    `-- test1.py    若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 impo

2016-10-14 15:50:35 911

原创 boost bind使用指南

bind - boost头文件: boost/bind.hppbind 是一组重载的函数模板.用来向一个函数(或函数对象)绑定某些参数. bind的返回值是一个函数对象. 它的源文件太长了. 看不下去. 这里只记下它的用法: 9.1 对于普通函数假如有函数 fun() 如下:  void fun(int x, int y) {  cout  }现在我们看

2016-10-02 20:59:27 378

转载 Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

我还是很操蛋的在QT下写控制台程序了,但是写完程序后运行时出现了如下情况。程序运行了,但是控制台中居然只有一个光标在那儿跳啊跳。由于百度的姿势不对,废了好多时间,终于明白是因为qt creator不支持Gnome默认的终端gnome-terminal。所以要换成XTerm的控制台。具体的解决方式是在tools->options->system->Terminal->改为xterm -e

2016-09-11 11:23:28 1606

转载 Ubuntu14.04 下 OpenCV3 安装

一 按照官网安装Opencv步骤:1.需要的包:    GCC 4.4.x 或更高    CMake 2.8.7 或更高    Git    GTK+2.x 或更高,包括头(libgtk2.0-dev)    pkg-config    Python 2.6 或以后,Numpy 1.5或以后,和开发包(python-dev,python-numpy)

2016-09-11 10:49:59 4913

boost-asio-cpp-network-programming-chinese

网络编程由来已久,并且是一个极富挑战性的任务。Boost.Asio对网络编程做了一个极好的抽象,从而保证 只需要少量的编程就可以实现一个优雅的客户端/服务端软件。在实现的过程中,它能让你体会到极大的乐 趣。而且更为有益的是:Boost.Asio包含了一些非网络的特性,用Boost.Asio写出来的代码紧凑、易读,而 且如果你按照我在书中所讲的来做,你的代码会无懈可击。

2017-05-28

空空如也

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