自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 在代码中分析VINS

1.在代码中分析VINS—图解feature_tracker.cpp2.在代码中分析VINS—图解特征点管理(feature_manager.h)

2019-05-15 10:54:06 403 1

原创 反卷积(Deconvolution)、上采样(UNSampling)与上池化(UnPooling)

https://blog.csdn.net/A_a_ron/article/details/79181108

2019-10-09 09:27:09 244

原创 YOLO面试知识点笔记

参考:https://blog.csdn.net/ChuiGeDaQiQiu/article/details/81229245yolov2有13X13X5=845个bboxYOLOV2的误差主要包含三项:1.该cell所产生的5个bbox与真实的bbox的iou的最大值小于设定值,则认为该cell不包含物体,即背景;2.真实的物体bbox的中心落在该cell上(红色)即为公式的第三部分;3.有...

2019-09-20 11:49:51 2063 1

原创 构建乘积数组 (from牛客)

构建乘积数组题目:给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。解题思路:先算下三角中的连乘,即我们先算出B[i]中的一部分,然后倒过来按上三角中的分布规律,把另一部分也乘进去。代码:class Solution {public: vector&l...

2019-09-14 14:01:09 150

原创 字符串的排列(牛客)

## 标题字符串的排列1.题目 :输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。2.解题思路:3.程序实现:class Solution {public: vector<string> Permutation(string str) { ...

2019-09-13 10:49:52 272

原创 约瑟夫环及其变体

1.问题描述q1.已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。q2.已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;原先编号为n的数是第几个出列的。2.编程实现q1 soluti...

2019-09-10 18:47:25 310

原创 Faster-RCNN学习

一文读懂Faster RCNN:https://zhuanlan.zhihu.com/p/31426458Faster RCNN 学习笔记 : https://www.cnblogs.com/wangyong/p/8513563.html

2019-07-02 10:51:27 131

原创 2.在代码中分析VINS---图解特征点管理(feature_manager.h)

这篇博客主要讲解VINS中特征点的管理,它主要涉及3个类,位于feature_manager.h中的FeaturePerFrame、FeaturePerId、FeatureManager1.特征点管理示意图上图中有两个路标特征点P1,P2,分别被帧1~2,2~4观测到。2.FeaturePerId就特征点P1来说,它被两个帧观测到,第一次观测到P1的帧为frame1,即start_f...

2019-05-10 09:48:08 2706 4

原创 1.在代码中分析VINS---图解feature_tracker.cpp

该文件的主要函数为void FeatureTracker::readImage(const cv::Mat &_img, double _cur_time)该文件的中文注释代码以放到我的github上,代码结合我下面画的图更容易理解,欢迎大家star!1. 第一帧图像进来当第一帧图像进来时,执行函数` cv::goodFeaturesToTrack(forw_img, n_pts...

2019-04-19 22:57:33 1936 16

原创 单链表反转

链表有以下三个数据组成程序:#include "iostream"#include<unordered_set>#include<algorithm>#include <malloc.h>using namespace std;typedef struct list{ int data; struct list* next;}List...

2019-04-15 10:05:03 170

原创 3.Leetcode Longest Substring Without Repeating Characters

题目Given a string, find the length of the longest substring without repeating characters.Example 1:Input: “abcabcbb”Output: 3Explanation: The answer is “abc”, with the length of 3.解题方法借助unordere...

2019-04-12 11:02:36 119

原创 map、set、unordered_map、unordered_set

基本概念map是(关键字,值)对的集合,例如,可以将一个人的名字作为关键字,将其电话号码作为值,我们可以将这个人的名字作为下标获取此人的电话号码。set是(关键字)的简单集合,当只是想知道一个值是否存在时,set是最有用的。例如,一个企业可以定义一个名为bad_checks的set来保存那些曾经开过空头支票的人的名字。在接受一张支票前,可以查询bad_checks来查询顾客的名字是否在其中。...

2019-04-12 10:56:39 470

原创 快速排序扩展---topK

#include "iostream"#include "string.h"int partition(int a[],int left,int right){ int i = left; int j = right; int temp = a[i]; while (i<j) { while (i<j && a[j] >= temp) ...

2019-04-10 11:33:56 453

原创 2.LeetCode Add Two Numbers

题目:You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and ret...

2019-04-09 22:03:57 86

原创 快速排序

#include "iostream"//left,right为数组下标int partition(int a[],int left,int right){ int i = left; int j = right; int temp = a[i]; while (i<j) { while (i<j && a[j] >= temp)//必须加等...

2019-04-09 20:03:10 98

原创 1.Leetcode1 Two Sum

题目:Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the sam...

2019-04-08 22:10:59 109

原创 SLAM中的BA优化

SLAM中的BA优化SLAM中的BA优化,先根据相机模型和A,B图像特征匹配好的像素坐标,求出A图像上的像素坐标对应的归一化的空间点坐标,然后根据该空间点的坐标计算重投影到B图像上的像素坐标,重投影的像素坐标(估计值)与匹配好的B图像上的像素坐标(测量值),不会完全重合,BA的目的就是每一个匹配好的特征点建立方程,然后联立,形成超定方程,解出最优的位姿矩阵或空间点坐标(两者可以同时优化)。...

2019-02-26 09:27:08 18107

原创 2.malloc()与new

1.malloc()malloc的语法是:指针名=(数据类型*)malloc(长度),(数据类型*)表示指针void *malloc(int size);说明:malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。例如:int *p = (int *)malloc(sizeof(int));

2017-10-24 08:48:06 272

原创 1.函数指针和指针函数

1.函数指针在将程序装入内存后,每个函数都要占用一段连续的内存区域,而函数名就是这段内存区域的首地址(或称函数的入口地址),在C语言中可以把某个函数的首地址赋给一个指针变量,使之指向该函数,然后通过这个指针变量调用该函数。习惯上可以把这种指向该函数的指针变量称为“函数指针变量”,简称函数指针。形式:类型标识符 (*指针变量名)(类型标识符1,..,类型标识符2)例如:int (*pf)

2017-10-23 16:27:10 185

转载 16.linux内核链表的实现

参考自:http://www.cnblogs.com/Anker/archive/2013/12/15/3475643.html

2017-10-20 16:27:09 164

转载 15.linux内存管理概括

参考:https://cloud.tencent.com/community/article/896239

2017-10-20 16:20:05 188

原创 14.linux内核内存区域Zone

Linux内核地址空间划分通常32位Linux内核地址空间划分0~3G为用户空间,3~4G为内核空间。注意这里是32位内核地址空间划分,64位内核地址空间划分是不同的。1、x86的物理地址空间布局:Linux系统在初始化时,会根据实际的物理内存的大小,为每个物理页面创建一个page对象,所有的page对象构成一个mem_map数组。进一步,针对不同的用途,Linux

2017-10-19 11:28:51 972

原创 13.slab分配器

首先可以通过该博客:http://www.cnblogs.com/liloke/archive/2011/11/20/2255737.html了解cache的工作原理Linux内核中有许多内存动态分配的需求,而其中的对象大小也参差不齐,LINUX内核提供了slab层,扮演了通用数据结构缓存层的角色。slab根据对象的类型来分组不同的Cache,每个Cache存放不同类型的对象,例如,一个Cac

2017-10-19 09:42:23 201

转载 12.linux中内存管理--伙伴关系

转载至:http://www.cnblogs.com/dyllove98/archive/2013/06/07/3124977.html1.伙伴系统算法的提出        内核应该为分配一组连续的页框而建立一种健壮、高效的分配策略。为此,必须解决著名的内存,也就是所谓的外锁片问题(external fragmentation)。频繁的请求和释放不同大小的一组连续页框,必然导致

2017-10-19 07:54:57 618

原创 11.linux的分段机制与分页机制

1段式管理.32位CPU两种工作方式:由实模式和保护模式组成。1、  实模式:内存管理与 16位CPU是一致的。2、  保护模式:(一般X86运行模式)段基地址长达32位,每个段的最大容量可达4G,段寄存器的值时段地址的“选择器”(selecor),用该“选择器”从内存中得到一个32位的段地址,存储单元的线性地址=该段基地址(Base)+段内偏移地址(offset),Linux

2017-10-18 21:29:45 585

原创 10.使用autotools自动生成Makefile

autotools是系列工具,包括aclocal,autoscan,autoconf,autoheader,automake,可以使用“whereis”或者“which”命令查看这些工具是否存在,不过系统默认这些工具是存在的。就上一节的例子,使用autotools自动生成Makefile。1.autoscan   他会在给定目录及子目录树中检查源文件,若没有给出目录,就在当前目录及子目录下

2017-10-15 10:10:04 410

原创 9.makefile的学习

make工程管理器也就是一个“自动编译管理器”,在这里的“自动”是指它能够根据文件的时间戳自动发现更新过的文件从而减少编译的工作量,同时,它通过读入Makefile文件的内容来执行大量的编译工作  1.Makefile的基本结构   target:dependcy_files              commend  解释:target:需要由make工具创建的目标体,可以是目标

2017-10-14 22:08:30 176

原创 8.gcc编译器

GNU CC(简称GCC)是GNU项目中符合ANSIC标准的编译系统,能够编译C,C++和ObjectiveC等语言编写的程序。        1.GCC所支持的扩展名如下:        .c                          C原始程序        .C/.cc/.cxx        C++原始程序        .m                

2017-10-14 21:23:32 605

原创 7.vi编辑器的使用

vi是linux下的文本编辑器,相当于windows下的记事本或者word。vi有3种编辑方式:命令行模式,插入模式,底行模式。  1.命令行模式(按esc键进入或者退出) 在该模式下可以通过移动上下光标进行“删除字符”或者“整行删除”等操作,也可以进行“复制”,“粘贴”等操作,但在该模式下时无法编辑文字。常用命令: h        光标左移 j          光标下

2017-10-14 21:22:27 255

原创 6.快速搜索(locate)

locate命令是用来搜索文件和目录的,比上一章的find-name搜索更快,原因在与他搜索的不是目录,而是数据库/var/lib/mlocate/mlocate.db,这个数据库中含有本地的所有的文件信息,并且每天只更新一次,所以删除的文件和新建的文件如果不使用updatedb命令可能不会locate到  1.搜索etc目录下以my开头的文件 locate/etc/my 

2017-10-14 21:21:38 191

原创 5.查找命令(find)

find命令是根据文件属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。  1.按照文件名查找:   find / -namea.conf//在根目录下查找文件a.conf   find /etc -name a.conf//在etc目录下查找文件a.conf   find /etc -name 's*'//在etc目录下查找以s开头的文件

2017-10-14 21:20:29 472

原创 4.复制(cp),删除(rm),移动(mv)

1.cp:         -a:用于复制文件夹和文件,保留链接,文件属性,并复制其子目录         -i:若复制的目的路径中有与源文件重名的文件,会给出提醒         -r:用于复制文件夹,cp将递归复制该目录下所有的子目录和文件例子:         cp -a ./px4/src/test./Document//将目录/px4/src/下的test文件复制到D

2017-10-14 21:19:16 231

原创 3.创建目录(mkdir)

mkdir:      如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;    如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。   -p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;

2017-10-14 21:17:54 523

原创 2.磁盘挂载命令(mount)

1.加载光驱或者U盘方法1sudo fdisk -l//得到U盘的路径sudo mount /dev/sdb1 /mnt/c//将U盘挂载到路径/mnt/c中cd /mnt/c//可以访问到U盘里的内容2.加载光驱或者U盘方法2sudo fdisk -l//得到U盘的路径#mount -t vfat /dev/sdb1 /mnt/usb //将U盘挂载到路径/mnt/usb

2017-10-14 21:17:12 1469

原创 1.系统管理命令ps和kill

用ps查看进程,方法如下:$ ps -ef或者$ ps-aux     此时如果我想杀了火狐的进程就在终端输入:$ kill -s 9 1827,其中-s 9制定了传递给进程的信号是9,即强制、尽快终止进程。1827则是上面ps查到的火狐的PID。    无论是ps -ef还是ps -aux,每次都要在一大串进程信息里面查找到要杀的进程,看的眼都花了。方法:使用pgrep:一看到p

2017-10-14 17:42:43 191

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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