- 博客(34)
- 收藏
- 关注
原创 LineMod源码梳理
LineMod算法代码来源:https://github.com/meiqua/shape_based_matching一、总体结构说明1、Feature结构体描述了一个特征点,即(x,y)位置,以及其量化梯度的方向(在代码中,将方向量化为8个)2、Template结构体描述了一个模板,保存了模板的缩放大小(width,height),对应的金字塔层级(pyramid_level),以及特征序列(features)。3、shapeInfo_producer类描述了模板的预处理,用于对模板图像进行旋
2021-07-22 12:38:53
2967
6
原创 Matlab错误使用 eval 有效!
打开MATLAB 发现解决办法:>> restoredefaultpath>> rehash toolboxcache>> savepath
2020-02-01 12:56:19
3380
9
转载 C++读取文件中的汉字乱码情况解决
1.win+R打开运行框之后输入cmd打开,然后在cmd最上边右键→属性,点开就可以查看当前编码方式,我的电脑是GBK。2.修改对应的文本文件编码方式。编辑器是记事本的修改方法编辑器是sublime text的修改方法(1)用sublime text的比较简单,打开之后在文件→设置文件编码(reopen with encoding),选上对应你电脑的编码方式(我的是GBK),然后再刷新...
2019-09-25 10:46:44
15409
19
原创 C++从键盘读入数组并存储
读取指定长度的数组int main(){ int n = 0; cin >> n; vector<int> p(n); for (int i = 0; i < n; i++) { cin >> p[i]; } for (int i = 0;i < p.size();i++) ...
2019-09-16 09:17:37
14667
2
原创 int与string的相互转换
一、int转换成stringⅠ、to_string函数c++11标准增加了全局函数std::to_string:string to_string (int val);string to_string (long val);string to_string (long long val);string to_string (unsigned val);string to_string...
2019-09-11 10:03:31
404
原创 C++ 控制输出的小数位数
#include <iostream>#include <iomanip>using namespace std;int main( void ){const double value = 12.3456789;cout << value << endl; // 默认以6精度,所以输出为 12.3457cout << set...
2019-09-08 14:44:47
1510
原创 OpenCV_API
一、addWeighted()void AddWeighted(Mat Image1, double alpha,Mat Image2, double beta,double gamma,Mat Image3);addWeighted(g_Image1, g_dAlphavalue, g_Image2, g_dBetaValue, 0.0, g_dstImage);参数1:Image1第一张...
2019-07-26 10:10:10
247
原创 结构光
什么是结构光?结构光是一组由投影仪和摄像头组成的系统结构。用投影仪投射特定的光信息到物体表面后及背景后,由摄像头采集。根据物体造成的光信号的变化来计算物体的位置和深度等信息,进而复原整个三维空间。已知空间方向的投影光线的集合称为结构光,而3D结构光的根本就是通过光学手段获取被拍摄物体的三维结构,再通过这一信息进行更深度的应用。原理:利用图像处理技术和可控光源设备进行测距的技术。基本思想是利用...
2019-07-23 15:05:15
6705
原创 C / C++ 数据结构与算法(排序)
排序:假设含有n个记录的序列为{r1,r2,…rn},其相应的关键字分别为{k1.k2…kn},需确定1,2,…,n的一种排序p1,p2,…pn,使其相应的关键字满足kp1<=kp2<=,,,<=kpn(非递减或递增)关系,即使得序列称为一个按关键字有序的序列{rp1,rp2…rpn},这样的操作称为排序排序的稳定性假设ki=kj(1<=i<=n,1<=j&...
2019-07-08 13:06:45
240
转载 数据结构中的哨兵
设置哨兵是为了减少比较次数,省去对下标越界的判断。应用:假设一个乱序数组,需要查找一个元素是否在该数组中,这时需要用到顺序查找,也就是遍历数组。一般情况下我们会写下如下代码:int Sequential_Search(int *a,int n,int key) { //数组从1开始 int i; for(int i=1;i<=n;i++) ...
2019-07-08 10:01:11
4397
5
原创 C / C++ 数据结构与算法(查找)
只是我自己看书、视频的总结 可能不适合其他人看。查找表:是由同一类型的数据元素(或记录)构成的集合。关键字:是数据元素中某个数据项的值,也称为键值查找,就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素或记录静态查找表:只作查找操作的查找表。主要操作有:查询某个“特定的”数据元素是否在查找表中。检索某个“特定的”数据元素和各种属性。动态查找表:在查找过程中同事插...
2019-07-04 21:37:17
507
原创 C / C++ 数据结构与算法 (树)
只是我自己看书、视频的总结 可能不适合其他人看。树树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一棵非空树中:(1)有且仅有一个特定的称为根(Root)的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2…Tm,其中每一个集合本身又是一棵树,并称为根的子树(Subtree)结点分类树的结点包含一个数据元素及若干指向其子...
2019-06-16 19:26:06
995
原创 C / C++ 数据结构与算法 (字符串)
只是我自己看书、视频的总结 可能不适合其他人看。串串(string)是有零个或多个字符组成的有限序列,有名叫字符串。空格串和空串不一样,空格串是有内容有长度的,而且可以不止一个空格。线性表更关注的是单个元素的操作,比如查找一个元素,插入或删除一个元素,但串中更多的是查找子串位置、得到指定位置子串、替换子串等操作。串的抽象数据类型ADT 串(string)Data 串中元素仅由一个字...
2019-06-16 18:26:06
487
原创 C / C++ 数据结构与算法 (栈与队列)
只是我自己看书、视频的总结 可能不适合其他人看。栈栈(stack)是限定仅在表位进行插入和删除操作的线性表。栈的抽象数据类型ADT 栈(stack)Data 同线性表。元素具有相同的类型,相邻元素具有前驱和后继关系。Operation InitStack (*s):初始化操作,建立一个空栈s; DestroyStack (*s):若栈存在,则销毁它; ClearStack(*s...
2019-06-14 13:18:10
293
转载 相机畸变详解
转载自 祥的博客 原文链接: http://blog.youkuaiyun.com/humanking7/article/details/450372391.摄像机成像原理简述成像的过程实质上是几个坐标系的转换。首先空间中的一点由 世界坐标系 转换到 摄像机坐标系 ,然后再将其投影到成像平面 ( 图像物理坐标系 ) ,最后再将成像平面上的数据转换到图像平面 ( 图像像素坐标系 ) 。图像像素坐标系 (u...
2019-06-10 10:49:20
3475
2
原创 C / C++ 数据结构与算法 (线性表)
只是我自己看书、视频的总结 可能不适合其他人看。一、线性表线性表的抽象类型ADT 线性表(List)Data 线性表的数据对象集合为{a1,a2,.....an},每个元素的类型均为DataType。其中,除第一个元素a1之外,每一个元素有且仅有一个直接前驱元素。除了最后一个元素an外,每一个元素有且仅有一个直接后继元素。数据元素之间的关系是一对一的关系。Operation I...
2019-06-07 15:44:50
472
原创 cartographer turtlebot的编译、安装和运行
接着上一篇博客继续:https://blog.youkuaiyun.com/Jinxiaoyu886/article/details/90215630如果还没有安装cartographer、ceres solver、cartographer和cartographer_ros。可以把下面这个命令$ wstool merge -t src https://raw.githubusercontent.com/...
2019-05-23 18:27:40
4247
原创 谷歌 catographer-ros + ubuntu14.04编译与运行
首先安装依赖sudo apt-get install -y google-mock libboost-all-dev libeigen3-dev libgflags-dev libgoogle-glog-dev liblua5.2-dev libprotobuf-dev libsuitesparse-dev libwebp-dev ninja-build protobuf-compiler py...
2019-05-14 21:31:39
1178
原创 Windows10 64位+vs2013+mrpt1.4.0配置成功 !详细!
一、下载1、mrpt下载地址:https://github.com/MRPT/mrpt/releases下载自己对应的版本 其中mrpt1.5以上的版本需要的vs2015我下载的是1.4.02、wxWidgets下载地址: http://www.wxwidgets.org/downloads/下载自己对应的系统版本 我下载的是3.0.43、FFmpeg 下载地址:https://f...
2019-05-04 22:43:44
661
原创 Windows10+opencv3.4+cmake3.13+vs2013 !详细!
一、准备VS2013专业版Cmake 下载链接:https://cmake.org/files/v3.10/cmake-3.10.2-win64-x64.zipOpenCV3.4 Sources 下载链接:https://github.com/opencv/opencv/archive/3.4.0.zip二、用cmake编译opencv解压Cmake后,找到bin\cmake-gu...
2019-04-30 16:05:17
1732
1
原创 力扣解题(简单)
一、两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]解答...
2019-04-28 15:02:53
3135
原创 C++学习之路(二)
十一、 表达式如果处于某种原因,要将一条语句放到两行中,可以在第一行末尾添加反斜杠 \,否则会出错。左值通常是内存单元,右值可以使内存单元的内容。因此所有的左值都可用作右值,但并非所有的右值都可用作左值。例如365 = year; 不合理逻辑运算符合按位运算的差别在于,按位运算符返回的并不是布尔值,而是对操作数对应位执行指定运算的结果。移位运算符(<<、>>)将...
2019-04-24 18:08:46
277
原创 ubuntu 14.04 用CodeBlocks编译MRPT库
首先在官网上下载mrpt包,编译并安装,之后会在usr/local/include里看见mrpt文件 说明已经安装完毕。打开codeblock接下来的步骤很重要!!!链接lib。点击setting -> compiler添加头文件路径点击project->build options...
2019-04-23 16:50:30
247
转载 升级CMake
sudo apt-get install software-properties-commonsudo add-apt-repository ppa:george-edison55/cmake-3.xsudo apt-get updatesudo apt-get install cmakesudo apt-get upgrade查看最终版本:cmake --version...
2019-04-22 15:02:15
405
原创 git、vim、oh-my-zsh 的安装和配置
oh-my-zsh 的安装和配置安装aptitude:sudo apt-get install aptitude安装git :sudo aptitude install git安装vim:sudo apt-get install vim-gtk打开终端,输入sudo apt-get install zshsudo vim /etc/passwd把第一行的/bin/bash改成/bin/...
2019-04-02 16:19:59
1426
原创 C++学习之路(一)
一、默认函数参数如果函数有多个参数,将根据参数的排列顺序指定默认值。可以给任何参数指定默认值,但是有一项重要的限制:如果某个参数没有默认值,那么它前面的人任何参数都不能有默认值。下面的函数原型包含4个参数:long set4DPoint(int x, int y, int z, int t);不能对其做如下修改:long set4DPoint(int x, int y, int z = 1, ...
2019-03-28 14:18:39
398
原创 ORB_SLAM错误总结
在编译ORB_SLAM的时候出现的错误:一、未添加路径`-- The C compiler identification is GNU 4.8.4– The CXX compiler identification is GNU 4.8.4– Check for working C compiler: /usr/bin/cc– Check for working C compiler: /...
2019-03-27 18:14:51
1814
转载 一些SLAM的名词解释
先验:统计历史上的经验而知当下发生的概率;后验:当下由因及果的概率;网上有个例子说的透彻:1)先验——根据若干年的统计(经验)或者气候(常识),某地方下雨的概率;2)似然——下雨(果)的时候有乌云(因/证据/观察的数据)的概率,即已经有了果,对证据发生的可能性描述;3)后验——根据天上有乌云(原因或者证据/观察数据),下雨(结果)的概率;...
2019-03-27 09:35:52
1784
转载 图优化理论(1)
简介图优化本质上是一个优化问题,所以我们先来看优化问题是什么。优化问题有三个最重要的因素:目标函数、优化变量、优化约束。一个简单的优化问题可以描述如下: 其中x为优化变量,而F(x)为优化函数。此问题称为无约束优化问题,因为我们没有给出任何约束形式。...
2019-03-26 20:27:53
28102
7
转载 ORB特征提取详解 BRUEF rBRIEF steered BRIEF
ORB特征提取详解1、算法介绍ORB(Oriented FAST and Rotated BRIEF)是一种快速特征点提取和描述的算法。这个算法是由Ethan Rublee, Vincent Rabaud, Kurt Konolige以及Gary R.Bradski在2011年一篇名为“ORB:An Efficient Alternative to SIFTor SURF”的文章中提出。ORB...
2019-03-21 20:48:47
3085
转载 ORB特征检测算法的具体实现
https://blog.youkuaiyun.com/GH_HOME/article/details/51511471
2019-03-21 20:48:39
708
转载 1.Turtlebot入门-配置网络
首先安装ssh:在终端输入: $ sudo aptitude install openssh-server在工作站和Turtlebot都要同步时钟。要在工作站(自己的电脑)和Turtlebot笔记本上都输入下列命令在终端输入: $ sudo apt-get install chrony在终端输入: $ sudo ntpdate ntp.ubuntu.com获取Turtle...
2019-03-21 20:41:17
957
转载 安装ROS indigo时,初始化的问题 rosdep init
安装ROS indigo时,初始化的问题 rosdep initERROR: default sources list file already exists:/etc/ros/rosdep/sources.list.d/20-default.list解决办法:先删除sudo rm /etc/ros/rosdep/sources.list.d/20-default.list测试...
2019-03-19 15:44:01
2887
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人