- 博客(51)
- 收藏
- 关注
转载 IMU姿态解算算法(梯度下降法)
Madgwick算法(梯度下降法)网址:https://blog.csdn.net/shenxiaolu1984/article/details/50650494高斯牛顿法磁力计
2019-06-21 19:23:35
4070
转载 vector或数组求最大值、最小值
可以用max_element()及min_element()函数,二者返回的都是迭代器或指针。头文件:#include1.求数组的最大值或最小值1)vector容器例 vector vec最大值:int maxValue = *max_element(v.begin(),v.end());最小值:int minValue = *min_element(v.begin(),v.end()...
2019-06-19 14:47:31
16067
1
原创 最大堆和最小堆
make_heap()是生成一个堆,大顶堆或小顶堆make_heap(_RAIter,_RAIter) 默认生成大顶堆make_heap(_RAIter,_RAIter,_Compare) _Compare有两种参数,一种是greater(生成小顶堆),一种是less(生成大顶堆)push_heap()是向堆中插入一个元素,并且使堆的规则依然成立push_heap(_RAIter,_RA...
2019-06-10 11:57:34
336
原创 按之字形打印二叉树
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。·/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val...
2019-06-09 22:29:17
131
原创 对称二叉树
题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。class Solution {public: bool isSymmetrical(TreeNode* pRoot) { return isSymme(pRoot,pRoot); } bool isSymme(Tre...
2019-06-09 21:40:36
77
原创 二叉树的下一个节点
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。分析二叉树的下一个节点,一共有以下情况:1.二叉树为空,则返回空;2.节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿着指向左子结点的指针找到的叶子节点即为下一个节点;3.节点不是根节点。如果该节点是其父节点的左孩子,则返回父节点;否则继续向上遍历...
2019-06-09 21:34:03
145
原创 表示数值的字符串
题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。class Solution {public: bool isNumeric(char* string) { ...
2019-06-06 23:14:44
74
原创 正则表达式匹配
题目描述请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配思路:当两个字符串都走到今天,返回true当pattern[1]等于‘*’时,str不变,pa...
2019-06-06 22:37:32
106
原创 把字符串转换成整数
题目描述将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。注意字符串最后一位是’\0’class Solution {public: int StrToInt(string str) { int len=s...
2019-06-06 20:29:37
79
原创 RANSAC应用之拟合3D平面 by MRPT
拟合3D平面The source for this example can be found in: https://github.com/MRPT/mrpt/tree/master/samples/math_ransac_plane3d_exampleThis is the resulting fit plane. Average execution time for 300 inliers...
2019-06-05 20:14:14
589
原创 RANSAC原理 by MRPT
ransac模板使用该函数的关键是要根据不同情况设置fit_func、dist_func和degen_func。template <typename NUMTYPE>bool RANSAC_Template<NUMTYPE>::execute( const CMatrixTemplateNumeric<NUMTYPE> &data, //数...
2019-06-05 20:00:16
283
原创 RANSAC求解基础矩阵----ORB-SLAM2
根据特征点匹配,随机生成每组包含8对匹配特征点的集合用于归一化八点算法** * @brief 并行地计算基础矩阵和单应性矩阵,选取其中一个模型,恢复出最开始两帧之间的相对姿态以及点云 */bool Initializer::Initialize(const Frame &CurrentFrame, const vector<int> &vMatches12,...
2019-06-05 12:12:05
2840
1
转载 G2O:线性求解器
1、创建一个线性求解器LinearSolver总结:LinearSolverCholmod :使用sparse cholesky分解法。继承自LinearSolverCCSLinearSolverCSparse:使用CSparse法。继承自LinearSolverCCSLinearSolverDense :使用dense cholesky分解法。继承自LinearSolverLinea...
2019-04-29 17:16:26
1642
转载 G2O:顶点
g2o的顶点(Vertex) 从哪里来的?vertex有关的第①个类: HyperGraph::Vertex,它在这个路径g2o/core/hyper_graph.h这个 HyperGraph::Vertex 是个abstract vertex,必须通过派生来使用。第②个类:HyperGraph::Vertex 是通过类OptimizableGraph 来继承的, 而Optimizabl...
2019-04-29 16:34:26
499
转载 G2O使用要点总结
1.顶点定义:继承BaseVertex<定点byte数,顶点结构体>类实现setToRiginImpl()函数,里面给_estimate成员函数赋初值_estimate的类型就是模板里指定的顶点结构体实现:oplusImpl(const double * update_)。update_是指向跟新值得指针,使用前需要转换成真实的结构类型。不一定是顶点类型。比如update_可...
2019-04-29 11:35:23
394
转载 g2o常用模块的简单介绍
原文参考:http://www.cnblogs.com/gaoxiang12/p/5304272.htmlg2o项目中含有若干文件夹。刨开那些gitignore之类的零碎文件,主要有以下几个:EXTERNAL 三方库,有ceres, csparse, freeglut,可以选择性地编译;cmake_modules 给cmake用来寻找库的文件。我们用g2o时也会用它里头的东西,例如F...
2019-04-28 20:11:32
408
转载 g2o自定义顶点和边
#include <iostream>#include <g2o/core/base_vertex.h>#include <g2o/core/base_unary_edge.h>#include <g2o/core/block_solver.h>#include <g2o/core/optimization_algorithm_leve...
2019-04-28 16:30:53
1148
转载 CmakeList的编写和参数详解
转载:https://blog.csdn.net/wfei101/article/details/77150234/在linux 下进行开发很多人选择编写makefile 文件进行项目环境搭建,而makefile 文件依赖关系复杂,工作量很大,搞的人头很大。采用自动化的项目构建工具cmake 可以将程序员从复杂的makefile 文件中解脱出来。cmake 根据内置的规则和语法来自动生成相关的m...
2019-04-28 15:39:19
1396
原创 简单Cmakelist
cmake_minimum_required(VERSION 3.13) #cmake最低版本要求project(g2o_curve_fitting_cpp) #定义工程名称 set( CMAKE_BUILD_TYPE "Release" ) ...
2019-04-28 15:31:44
387
原创 multiset
STL中的set和multiset基于红黑树实现,默认排序为从小到大。 multiset<int, greater<int>> greadterSet; //降序,最大堆 multiset<int, less<int>> lessSet; //升序,最小堆 multiset<int> defaultSet; //...
2019-04-27 19:40:59
761
原创 最小的k个数
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。class Solution {public: typedef multiset<int,greater<int>> inSet; typedef multiset<int,greater<int>>::ite...
2019-04-27 19:32:37
71
原创 字符串排列
题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。class Solution {public: vector<string> Permutation(string str) { if(str.size()==0) ...
2019-04-27 12:19:44
79
原创 二叉树中和为某一值的总路径
输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)class Solution {public: vector<vector<int> > FindPath(TreeNode* root,int target) ...
2019-04-20 21:24:54
88
原创 二叉搜索树的后序遍历
题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。一开始没有写成两个函数的形式,定义了新的seq1,seq2,造成内存太大,所以以后可以用序列序号做参数,就不用浪费内存了。class Solution {public: bool VerifySquenceOfBST(vector<...
2019-04-20 20:39:05
115
原创 stl 小结
1.vector 向量size()empty()push_back(value)pop_back() 删除最后一个元素front() 获取第一个元素back() 获取最后一个元素2.stack 栈pop() 扔的是最后一个top() 指的是最后一个push(value) 放入末尾3.queue 队列pop() 扔的是第一个front() 第一个push(value) 放...
2019-04-20 17:40:13
111
转载 vector vector int 初始化
方法一:vector<vector>array=(2,vector());array[0].push_back(1);array[i].push_back(2);方法二:vector<vector >array={{1,2},{3,4}};
2019-04-20 16:04:31
7285
原创 树的子结构
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)class Solution {public: bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2) { if(!pRoot1 || !pRoot2) return false; bool result=fa...
2019-04-20 14:10:57
76
原创 镜像二叉树
操作给定的二叉树,将其变换为源二叉树的镜像。class Solution {public: void Mirror(TreeNode *p) { if(!p) return; if(p){ TreeNode* temp; temp=p->right; p...
2019-04-20 14:09:43
71
原创 描述子匹配
1.SURF SurfDescriptorExtractor SurfDescriptor; Mat imageDesc1, imageDesc2; SurfDescriptor.compute(image1, keyPoint1, imageDesc1); SurfDescriptor.compute(image2, keyPoint2, imageDesc2);...
2019-04-19 23:18:46
692
2
原创 特征点提取opencv
1. cornerHarris()opencv中提供了Harris角点检测的接口,即cv::cornerHarris()缺陷:角点是像素级别的,速度较慢dst = cv2.cornerHarris(gray,2,3,0.04) img - 数据类型为 float32 的输入图像 blockSize - 角点检测中要考虑的领域大小 ksize - Sobel 求导中使用的窗口大小 k ...
2019-04-19 23:05:26
2974
原创 组合总数
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。class Solution {public: vector<vector<int>>...
2019-04-17 19:58:32
199
原创 数组定义及初始化
1.一维数组静态 int array[100]; 定义了数组array,并未对数组进行初始化静态 int array[100] = {1,2}; 定义并初始化了数组array动态 int* array = new int[100]; delete []array; 分配了长度为100的数组array动态 int* array = new int100; delete []arr...
2019-04-17 17:24:32
385
转载 二进制数中1的个数
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。class Solution {public: int NumberOf1(int n) { int count=0; while(n!=0){ count++; n=n&(n-1); } ...
2019-04-16 23:40:03
120
转载 旋转数组的最小值
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。class Solution {public: int minNumberInRotateArray(...
2019-04-14 23:37:53
80
原创 用两个栈实现队列
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。class Solution{public: void push(int node) { stack1.push(node); } int pop(){ if(stack2.size()<=0){ while (stack1...
2019-04-14 17:37:44
73
转载 重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。class Solution {public: TreeNode* reConstructBinaryTreeCore(vector&...
2019-04-14 16:57:30
72
原创 从头到尾打印链表
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) {* }* };*/clas...
2019-04-14 15:59:07
89
转载 c++ map用法总结
使用map使用map得包含map类所在的头文件#include <map> //注意,STL头文件没有扩展名.h1、构造函数 (1) map<string, int> Map; (2) typedef map<string,int> Mymap; Mymap Map; 2、...
2019-04-14 12:22:38
152
原创 SLAM学习过程
根据崔大佬的分享总结的:不是为了学SLAM,而是利用现有资源做项目、过程写BA公式代码敲过一遍、捋过一遍将VINS的公式推了一遍,把代码和公式对应起来,优化方面已经很难提高效率了研究BA优化工程难点:自动曝光、亮度、对比度处理噪声...
2019-04-13 20:38:29
376
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人