- 博客(94)
- 资源 (8)
- 收藏
- 关注
原创 总结SLAM论文主要创新点和论文分类 —— 持续更新ing
持续更新1. 适用于大规模动态环境的鲁棒稠密地图Robust Dense Mapping for Large-Scale Dynamic Environments文章发表时间:2018年5月文章下载链接:Robust Dense Mapping for Large-Scale Dynamic Environments开源链接:http://andreibarsan.github.io/dynslam创新点:一种针对大型动态城市环境的基于立体声的稠密地图算法。研究了两种不同的最新实时立体..
2020-12-24 15:57:58 3099 2
原创 进华为你必须了解的——华为精神
1)吃苦耐劳精神几乎每个华为人都备有一张床垫,卷放在各自的储存铁柜的底层或办公桌、计算机台的底下,外人从整齐的办公环境中很难发现这个细节。午休的时候,席地而卧,方便而适用。晚上加班,夜深人静,灯火阑珊,很多人却不回宿舍,就这一张床垫,累了睡,醒了再爬起来干,黑白相继,没日没夜。可以说,一张床垫半个家,华为人是携着这样一张张床垫走过8年创业的艰辛与卓越。颜色各异、新旧杂陈的一张张床垫,载着华为人共同的梦想。床垫文化的意味也从早期华为人身体上的艰苦奋斗发展到现在思想上的艰苦奋斗,构成华为文化一道独特的风景。
2022-04-11 09:49:43 6924
原创 单目测距中的H矩阵
// 计算经过H矩阵转换的点位置 /** * @brief TransportpointforH * @param inpoint 输入点 * @param outpoint 输出点 * @param H 转换矩阵 */ void TransportpointforH(Point2f &inpoint, Point2f &outpoint, Mat H) { cv::Mat_<...
2022-04-07 11:27:34 579
原创 构建二叉树C++
#include<iostream>#include <vector>using namespace std;struct Node { int val; Node* left; Node* right; Node() {} Node(int val_):val(val_) {} Node(int val_, Node* left_, Node* right_) :val(val_), left(left_), right(right){}};//层序数组
2021-09-24 13:03:29 308
原创 顺时针打印矩阵
#include <iostream>#include <vector>using namespace std;void printMatrix(vector<vector<int> > m) { if (m.empty()) return; int rows = m.size(); int cols = m[0].size(); // 四个角落 int left = 0; int right = cols - 1; int top =
2021-09-22 21:00:28 69
原创 最近最少使用算法LRU
#include <iostream>#include <unordered_map>using namespace std;// 双向链表节点struct DLinkedNode { int key, val; DLinkedNode* pre; DLinkedNode* next; DLinkedNode() : key(0), val(0), pre(nullptr), next(nullptr) {} DLinkedNode(int _key,int _
2021-09-22 19:24:28 149
原创 重排链表.
leetCode 143#include<iostream>#include<vector>using namespace std;struct Lis { int val; Lis* next; Lis() :val(0), next(nullptr) {} Lis(int x) :val(x), next(nullptr) {} Lis(int x, Lis* next) :val(x), next(next) {}};vo
2021-09-11 20:45:31 87
原创 m个数的全排列、// n个数取m个数出来
#include <iostream>#include <string>#include <vector>#include <algorithm>#include <stack>using namespace std;//m个数的全排列void AllRange(vector<int>& nums, vector<vector<int>>& sub, int k, int m) {
2021-08-25 15:36:39 203
原创 KMP算法
#include<iostream>#include<vector>#include<string>using namespace std;// 最大相等前后缀int preh(string s) { int n = s.size(); int j = n-1; while (j) { if (s.substr(0, j) == s.substr(n - j , j)) { break; } else { j--; } }
2021-08-25 15:34:33 174
原创 C++面经
持续更新1. vector是怎么实现的?2. 使用vector有什么要注意的?3. 一个程序的内存模型是怎么样的?他们都有什么用?4. 四次挥手的time_wait有什么用?5. 如果出现了非常多的time_wait,会有什么影响?怎么解决?6. c++多态如何实现?7. c++vector迭代器失效场景?8. c++如何避免内存泄漏?9. share_ptr是线程安全的吗?10. 多线程11. 解决hash冲突的办法12. C++11 最常用的新特性如下/标准模板库,哪些数据结构13. 进程和线程关系及区
2021-07-28 18:09:42 1681 1
原创 笔试编程题目1-百度
笔试编程题目1-百度1、翻硬币2、取数1、翻硬币桌子上放着N枚硬币,将其从1到N编号,初始时有的正面朝上,有的反面朝上。现在要将所有硬币翻至正面朝上,每次可选择一个区间[L,R](1≤L≤R≤N),并执行以下两种操作的一种:(1)将编号为L到R的硬币翻面;(2)若编号为L到R的硬币均反面朝上,则将其翻至正面朝上。其中操作①所需代价为x,操作②的代价为y,那么将所有硬币翻至正面朝上的总代价最少是多少?输入第一行包含三个整数N,x和y,1≤N≤10^5,1≤x,y≤10。第二行包含N个空格隔开的
2021-06-01 16:50:59 745
原创 ORBSLAM中单应矩阵求解
ORBSLAM中单应矩阵求解1. 单应矩阵求解2.用DLT方法求解单应矩阵H3. 三角化求深度4. 使用RT三角化1. 单应矩阵求解/** * @brief 计算单应矩阵,假设场景为平面情况下通过前两帧求取Homography矩阵,并得到该模型的评分 * 原理参考Multiple view geometry in computer vision P109 算法4.4 * Step 1 将当前帧和参考帧中的特征点坐标进行归一化 * Step 2 选择8个归一化之后的点对进行迭代 * Step
2021-01-21 16:45:29 605
转载 ubuntu 16.04修改Swap空间大小
当你需要重新修改增加交换空间Swap的大小时候,这个方法非常有效,实测没问题,放心使用提高服务器响应速度和防止应用程序内存不足错误的最简单方法之一是添加一些交换空间。 在本指南中,我们将介绍如何将交换文件添加到Ubuntu 16.04服务器。但是,请注意:尽管swap区通常建议用于使用传统旋转硬盘驱动器的系统,但使用与SSD交换可能会导致随着时间的推移硬件退化问题。 由于这个考虑,我们不建议在DigitalOcean或任何其他使用SSD存储的供应商上启用swap分区。 这样做可能会影响到您和您的邻.
2021-01-19 16:09:41 1525
原创 QT 中设置CMAKE编译核心数量,加快编译
QT 中设置CMAKE编译核心数量,加快编译CMAKE_CODEBLOCKS_MAKE_ARGUMENTS -j8
2021-01-18 14:08:35 1297
原创 Ubuntu 多线程程序报错 `error: undefined reference to ’pthread_create‘`
Ubuntu 多线程程序报错 error: undefined reference to ’pthread_create‘解决方法在CMakeLists文件中加入// 文件头部set(THREADS_PREFER_PTHREAD_FLAG ON)find_package(Threads REQUIRED)// add_executable(main Examples/main.cpp)后面target_link_libraries(main Threads::Threads)...
2020-12-12 10:55:34 209
原创 undistortPoint函数的实际用法
undistortPoint函数介绍请看:传送门 Point p0 , _p0; cv::Mat mat(1,2,CV_32F); mat.at<float>(i,0)=p0.x; mat.at<float>(i,1)=p0.y; mat=mat.reshape(2); cv::undistortPoints(mat,mat,K2, D2, R2, P2); mat=mat.reshape(1);
2020-11-30 19:48:00 1337
原创 在ROS上运行ORB_SLAM3双目stereoslam
1. 准备工作看前一篇之前运行了slam单目,ORB_SLAM2和ORB_SLAM3在ROS上运行monoslam不同之处是发布相机的节点多一个,修改相机打不节点请看rm_stereo_distort其他基本都是和mono_slam 一样2. 运行ORB_SLAM3rosrun ORB_SLAM3 Stereo /home/jinln/catkin_ws/src/ORB_SLAM3/Vocabulary/ORBvoc.txt /home/jinln/jinln/DATASET/baslers
2020-11-25 18:09:26 1850 1
原创 ORB_SLAM2和ORB_SLAM3在ROS上运行monoslam
1.参考博客https://blog.csdn.net/xyt723916/article/details/89388188https://blog.csdn.net/qq_27339501/article/details/109682210https://blog.csdn.net/qq_42585108/article/details/105519029https://blog.csdn.net/qq_42585108/article/details/105563648感谢以上博客的指点2.
2020-11-25 09:52:53 1626 2
原创 evo画轨迹
evo_traj kitti KITTI_00_ORB.txt MF-SLAM_00.txt --ref=KITTI_00_gt.txt -p --plot_mode=xz
2020-11-23 15:11:20 737
原创 CmakeLists中写加入C++11
CmakeLists C++11 时间特性和其他相关11要求include(CheckCXXCompilerFlag)CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)if(COMPILER_SUPPORTS_CXX11) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}
2020-11-18 16:01:31 1908
原创 glob函数批量命名文件夹内图片
这种方法的好处是不用管文件名类型CV_EXPORTS void glob(String pattern, std::vector& result, bool recursive = false);#include <iostream>#include <opencv2\opencv.hpp>#include<string>#include<vector>using namespace cv;using namespace std;.
2020-11-06 10:52:26 217
原创 ubuntu Basler相机怎么设置静态IP
1. 在basler官网下载baler相机ubuntu驱动,并安装,默认安装地址为/opt/pylon5https://www.baslerweb.com/cn/sales-support/downloads/2. 打开路径/opt/pylon5/bin/IpConfigurator可执行文件,并将basler相机网口接入主机,接入一个网口相机后,可看到界面:3. 点击对应相机,并选择Static IP;4. 填入IP address 、Subnet Mask、Gateway,之后点击保存,就可更
2020-11-04 21:47:44 1853
原创 VScode运行ORBSLAM3
VScode编译ORBSLAM1. 创建c_cpp_properties.json文件2. 创建tasks.json1. 创建c_cpp_properties.json文件按ctrl + shift + P打开vscode控制台(记住此快捷键,以后经常用),输入C/Cpp: Edit configurations,就自动生成了一个c_cpp_properties.json文件,这样你就可以在该文件中编写参数来调整设置我的c_cpp_properties.json{ "configuratio
2020-11-03 18:01:18 1300
原创 在图片上写上点的坐标
sprintf(temp0, "(%d,%d)", maxPos.x, maxPos.y); sprintf(temp1, "(%d,%d)", rightbottom.x, rightbottom.y); Point text; text.x=rightbottom.x-100; text.y=rightbottom.y-20; putText(srcImage ,temp0, maxPos, CV_FONT_...
2020-10-30 07:41:47 320
原创 ubuntu循环读取图片
int i=300; std::string left = "/home/jinln/jinln/DATASET/baslerstereodata/20201019/2020101901/image_0/*.png"; std::string right = "/home/jinln/jinln/DATASET/baslerstereodata/20201019/2020101901/image_2/*.png"; std::vector<cv::String> imag
2020-10-29 21:51:50 265
原创 NCC归一化相关匹配算法,这个时间比较久
原作者#include <opencv2/opencv.hpp>using namespace cv;//纯粹的归一化相关匹配算法,没有用到任何提速手段,纯ncc函数运行时间大约在23秒左右void ncc(Mat& srcImage, Mat& templImage, Mat& result){ int rows = srcImage.rows - templImage.rows + 1; assert(templImage.rows <=.
2020-10-29 21:04:39 1567 1
原创 用opencv调用摄像头进行拍照,按空格拍照(可连续拍摄多张),然后按esc退出拍照 在拍摄的第一张照片上选择roi,自动显示roi图片
用opencv调用摄像头进行拍照,按空格拍照(可连续拍摄多张),然后按esc退出拍照 在拍摄的第一张照片上选择roi,自动显示roi图片
2020-10-29 20:51:16 856
原创 ORBSLAM3双目匹配增加左相机索引
void Frame::ComputeStereoMatches(){ mvuRight = vector<float>(N,-1.0f); mvuLeft = vector<float>(N,-1.0f); mvDepth = vector<float>(N,-1.0f); const int thOrbDist = (ORBmatcher::TH_HIGH+ORBmatcher::TH_LOW)/2; const int
2020-10-25 15:42:41 428
原创 orbslam2的双目匹配机制代码注释
/* * 双目匹配函数 * * 为左图的每一个特征点在右图中找到匹配点 \n * 根据基线(有冗余范围)上描述子距离找到匹配, 再进行SAD精确定位 \n ‘ * 这里所说的SAD是一种双目立体视觉匹配算法,可参考[https://blog.csdn.net/u012507022/article/details/51446891] * 最后对所有SAD的值进行排序, 剔除SAD值较大的匹配对,然后利用抛物线拟合得到亚像素精度的匹配 \n * 这里所谓的亚像素精度,就是使用这个拟合得到一个小于
2020-10-22 22:18:19 1045 2
原创 opencv的掩膜mask
#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include <iostream>#include <stdio.h>using namespace std;using namespace cv;int main(){ Mat image, mask; Rect r1(100, 100, 250, 300); Mat img1, img2, img3,
2020-10-21 10:21:46 564
原创 RANSAC随机采样一致性筛选特征点
#include <iostream>#include "opencv2/opencv.hpp"#include "opencv2/core/core.hpp"#include "opencv2/features2d/features2d.hpp"#include "opencv2/highgui/highgui.hpp"using namespace cv;using namespace std;int main(int argc, char** argv){ Mat ob
2020-10-10 10:40:06 471
原创 各种排序算法
各种排序算法1. 冒泡排序2. 选择排序3. 插入排序4. 希尔排序5. 快速排序6. 归并排序7. 堆排序完全代码 排序时间快慢比较: 快速>合并>希尔>堆>插入>选择>冒泡1. 冒泡排序//冒泡排序void BubbleSort(int arr[], int length) { for (int i = 0; i < length-1; i++) { for (int j = 0; j<length-i-1; j++) { i
2020-09-25 15:58:37 73
bag2jpg.txt
2020-07-07
你需要的全部opencv安裝步驟.txt
2020-06-30
基于CUDA的opencv安裝步驟.txt
2020-06-18
Systematic Handling of Heterogeneous Geometric.pdf
2020-04-01
Multi-camera visual SLAM for autonomous navigation of micro aerial vehicles .pdf
2020-03-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人