自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 资源链接记录(持续更新)

Python语法及相关库函数使用用xlrd库读取excel文件

2021-12-07 16:24:46 542

原创 matlab解方程组解析解

matlab 解方程组

2022-12-02 20:21:45 1911 3

原创 PTAM及第三方依赖库编译问题记录

PTAM开源SLAM框架编译记录

2022-11-13 15:55:59 271

原创 Matlab双目标定参数说明

使用Matlab进行双目标定的流程双目相机标定——从MATLAB到OpenCV标定结果说明matlab 双目标定及参数说明这里需要额外注意,RotationOfCamera2和TranslationOfCamera2的含义,是相机2相对于相机1的转换矩阵,表示如下:p2=R21p1+t21p_2 = R_{21}p_1+t_{21}p2​=R21​p1​+t21​其中p2p_2p2​为点p在相机2坐标系下的坐标p1p_1p1​为点p在相机1坐标系下的坐标R21R_{21}R21​为Rot

2022-05-11 17:40:40 1143

原创 NDT算法原理及相关源代码

算法核心思想及主要流程详细流程PCL源代码解析

2022-05-03 01:01:48 1360 3

原创 矩阵分解专题

以下讨论均在实数域空间进行文章目录矩阵的一些基础概念及性质一些概念一些性质choloesky分解可以进行choloesky的条件choloesky分解的表示形式用choloesky求解线性方程组参考矩阵的一些基础概念及性质一些概念正规矩阵:ATA=AATA^TA=AA^TATA=AAT,又有以下两种特殊情况正交矩阵(酉矩阵):AAT=EAA^T=EAAT=E对称矩阵(Hermite矩阵):AT=AA^T = AAT=A,根据xTAxx^TAxxTAx的结果,又可以分成以下几类正定矩阵:x

2022-04-22 12:36:30 226

原创 深蓝学院-视觉SLAM理论与实践-第十二期-第7章作业

Bundle Adjustment问题1:文献阅读为何说 Bundle Adjustment is slow 是不对的?可以利用H矩阵的稀疏性质对BA整个过程进行加速。BA 中有哪些需要注意参数化的地方?Pose 和Point 各有哪些参数化方式?有何优缺点。参数化的地方:相机的内参外参,观测点的三维坐标,观测点的像素坐标Pose参数化方法:欧拉角(万向锁,表示方法不唯一) 四元数(存在单位向量的约束) 旋转矩阵 旋转向量Point参数化方法:齐次坐标问题2:BAL-dataset程序

2022-03-22 15:24:32 649

原创 深蓝学院-视觉SLAM理论与实践-第十二期-第6章作业

LK光流问题1:光流文献综述问题2:forward-addtive Gauss-Newton 光流的实现从最小二乘角度来看,每个像素的误差怎么定义?像素的误差指的是匹配像素的差值误差相对于自变量的导数如何定义?利用导数的定义求解图像对坐标的导数(img(i,j+1)−img(i,j−1))/2(img(i,j+1)-img(i,j-1))/2(img(i,j+1)−img(i,j−1))/2主要思想利用导数的定义求解图像对坐标的导数(img(i,j+1)−img(i,j−1))/2(img

2022-03-22 15:23:09 3769

原创 【SLAM面经】高仙机器人实习一面

项目相关问题项目一:一个基于传统视觉blob分析的目标位姿估计项目问题1:描述一下blob算法问题2:提取边缘的主要方法问题3:项目中的blob算法的具体细节问题4:PnP位姿最少需要几个点?有几组解?误差来源于哪里项目二:无迹卡尔曼滤波相关的一个项目问题1:简单介绍一下算法问题2:卡尔曼滤波状态预测的协方差矩阵怎么算问题3:...

2022-03-12 20:00:07 504

原创 深蓝学院-视觉SLAM理论与实践-第十二期-第5章作业

源代码gitee:https://gitee.com/sldwlk_admin/vslamlesson欢迎收藏 ^ ^ 一起交流ORB特征点问题1:ORB提取程序思路判断是否在边界,如果在就跳过计算图片在x、y方向的重心,这里要注意坐标原点时在局部图片的中心位置用std::atan2计算重心夹角核心代码// compute the anglevoid computeAngle(const cv::Mat &image, vector<cv::KeyPoint> &

2022-02-27 22:34:22 530 1

原创 【算法笔记】不用库函数手撕力扣之力扣121:买-卖-股-票-的-最-佳-时-机

题目链接题解方法1:求差预处理+求最大子序和主要思路这个问题我们算当天买入第二天卖出会获利多少,随后再求连续N天买入卖出收益最大值即可。源代码:c++class Solution {public: int maxProfit(vector<int>& prices) { if(prices.size() < 2) return 0; for(int i = prices.size() - 1; i &gt

2022-02-26 19:57:04 566

原创 【算法笔记】不用库函数手撕力扣之力扣102:二叉树的层序遍历

题目链接题解方法1:双队列遍历主要思路将头节点放入一个队列中,另一个队列为空。遍历存在数据的哪个队列,将其子节点放入到另一个空队列中,循环往复直到两个队列都为空。源代码:c++/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nul

2022-02-26 19:18:07 464

原创 【算法笔记】不用库函数手撕力扣之力扣141:环形链表

题目链接题解方法1:顺序比较主要思路如果一个节点所处位置为n,那么在n之后再遍历n次如果没有遇到这个节点,那么说明这个节点不在环中,证明此点不在环中后,可以将待验证的点移动到目前遍历到的节点的最后一个位置,直到遍历到数组末尾。源代码:c++/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val

2022-02-25 20:41:51 369

原创 【算法笔记】不用库函数手撕力扣之力扣21:合并两个有序链表

题目链接题解方法1:顺序比较主要思路比较两个链表头部的两个节点,选择较小的一个加入到新的链表的末端,循环往复源代码:c++/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(null

2022-02-25 19:51:24 335

原创 深蓝学院-视觉SLAM理论与实践-第十二期-第4章作业

图像去畸变程序思路根据相机内参,将无畸变的像素坐标反向投影到归一化平面通过畸变模型计算无畸变归一化坐标对应的含有畸变的归一化坐标利用相机内参,将含有畸变的归一化坐标投影到相机坐标系中源代码//// Created by 高翔 on 2017/12/15.//#include <opencv2/opencv.hpp>#include <string>using namespace std;string image_file = "/home/sld/w

2022-02-21 00:27:05 2427

原创 深蓝学院-视觉SLAM理论与实践-第十二期-第3章作业

群的性质问题1:$ {Z, +} $ 是否为群?若是,验证其满足群定义;若不是,说明理由是群,满足如下性质封闭性:任何两个整数相加结果依然是整数结合律:a+b+b=a+(b+c)a+b+b = a+(b+c)a+b+b=a+(b+c)幺元:0为幺元逆:任何一个整数与其相反数相加结果都为0问题2:$ {N, +} $ 是否为群?若是,验证其满足群定义;若不是,说明理由是群,满足如下性质封闭性:任何两个整数相加结果依然是整数结合律:a+b+b=a+(b+c)a+b+b = a+(b+c

2022-02-21 00:20:11 1067

原创 深蓝学院-视觉SLAM理论与实践-第十二期-第2章作业

熟悉Eigen矩阵运算设线性方程 Ax=b Ax = b Ax=b,在AAA为方阵的前提下,请回答以下问题:问题1:什么条件下,x有解且唯一?矩阵A非奇异,满秩。问题2:高斯消元法的原理是什么?高斯消元法主要可以分成三步:从上至下,以第m(1<=m<n)m(1<=m<n)m(1<=m<n)行数据作为减项,将大于mmm行的数据中的第mmm列变成0,从而使得矩阵变成上三角矩阵从下至上,以第m(1<=m<n)m(1<=m<n)m(1&l

2022-02-21 00:19:14 1336

原创 深蓝学院-视觉SLAM理论与实践-第十二期-第1章作业

熟悉Linux问题1:描述apt-get安装软件的整体步骤,说明Ubuntu是如何管理软件依赖关系和版本的apt-get安装软件的整体步骤: reading package lists:获取软件的下载地址 building dependency tree:确定该软件包的依赖关系, 安装下载/更新此软件以及依赖软件的软件包(deb文件) 使用dpkg对下载下来的安装包进行安装 ubuntu管理软件依赖关系和版本:ubuntu使用deb软件包来管理软件,因此对

2022-02-02 17:23:52 2237 4

原创 线性代数零碎知识和胡思乱想

对于一个矩阵(无论是不是仿真),如果想作乘一个矩阵使结果为单位阵,那么原来的矩阵每个列向量必须是线性无关的,如果想右乘一个矩阵使结果变成单位阵,那么原来的矩阵每个行向量必须是线性无关的一个行满秩矩阵在右边乘一个不同的向量,则会得到不同的结果...

2022-01-18 20:18:13 150

原创 【算法笔记】不用库函数手撕力扣之力扣15:三数之和

题目链接题解方法1:排序+求和逼近主要思路首先对数组进行从小到的排序,从小到大遍历每个数据。在每个数据遍历过程中,要从这个数据右边的所有数据中,找两个数使得这两个数的和与遍历的数据互为相反数,采用从两边向中间求和逼近的方法可以使得每次遍历复杂度降到O(n)。源代码:c#include <stdio.h>#include <malloc.h>#include <string.h>void fastSort(int* data, int startInde

2022-01-18 19:55:42 441

原创 【算法笔记】不用库函数手撕力扣之力扣912:排序数组

题目链接题解方法1:数组标注主要思路用的快排算法,主要思路,首先将数组构建成一种情况:以某个位置为分界点,左边的数据都比分界点小,右边的数据都比分界点大,然后递归处理左右两边的数据即可。源代码class Solution(object): def sortArray(self, nums): if len(nums) == 1 or len(nums) == 0: return nums; # 避免有序数组复杂度增高,这里对最后一个数进行随机替

2022-01-10 21:30:24 146

原创 【算法笔记】不用库函数手撕力扣之力扣25:K 个一组翻转链表

题目链接题解方法1:数组标注主要思路使用一个数组minIndex(长度256),当前遍历位置下,每个字符所能组成的无重复最长字串在整个字符串中的最小开始下标,沿着整个字符串开始遍历,每遍历一个字符,以这个字符为结尾的最长无重复字符的最长子串就是:当前遍历下标-minIndex[当前字符]。时间复杂度为O(n)关于minIndex数组的维护为 minIndex[当前字符] = max(当前字符出现的最后位置,当前遍历过程中最后一个重复字符对出现的位置)源代码int minIndex[300]

2022-01-10 19:21:25 143

原创 【算法笔记】不用库函数手撕力扣之力扣3:无重复字符的最长子串

题目链接题解方法1:数组标注主要思路使用一个数组minIndex(长度256),当前遍历位置下,每个字符所能组成的无重复最长字串在整个字符串中的最小开始下标,沿着整个字符串开始遍历,每遍历一个字符,以这个字符为结尾的最长无重复字符的最长子串就是:当前遍历下标-minIndex[当前字符]。时间复杂度为O(n)关于minIndex数组的维护为 minIndex[当前字符] = max(当前字符出现的最后位置,当前遍历过程中最后一个重复字符对出现的位置)源代码int minIndex[300]

2022-01-04 11:31:12 556

原创 【算法笔记】不用库函数手撕力扣之力扣146:LRU缓存机制

class LRUCache {public: LRUCache(int capacity) { this->capacity = capacity; for(int i = 0; i < capacity; i++) key[i] = -1; for(int i = 0; i < 10010; i++) value[i] = -1; lastValue = 0;

2022-01-03 21:52:25 676

原创 【算法笔记】不用库函数手撕力扣之力扣215:数组中的第K个最大元素

题目链接题解方法1:逐个遍历+二分查找插入主要思路维护一个长度为k的数组,这个数组是遍历及之前的数据中前k的最大的数据。每遍历一个数据,就用二分查找的方法加入到维护的数组中去,遍历完成后,取数组中最后一个数据为第k大的数据。复杂度O(nlgk)源代码int window[10010];int find_pos(int * window, int num, int len){ //假设数据是从大到小排列的,二分查找,返回num要插入的位置 if (window[0] <

2021-12-22 21:26:41 329

原创 【算法笔记】不用库函数手撕力扣之力扣206:反转链表

题目链接题解方法1:递归主要思路这个方法的主要思路就是一直递归到尾部,然后从尾部往前逐一反转(之所以没有正向反转是因为反转后会导致经过反转的部分和没有反转的部分之间没有指针连接)代码/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* reverseList(struct Li

2021-12-22 20:35:57 292

原创 野火F407学习日志(一)————串口通信(代码部分)

固件库编程的好处就是可以直接在对应的固件库中编辑对应的结构体就可以了1、编程中常用的固件库函数①配置GPIO具体的复用功能void GPIO_PinAFConfig() 函数②中断配置函数void USART_ITConfig③串口使能函数voidUSART_Cmd()④发送数据函数voidUSART_SendData⑤接收数据函数voidUSART_RecieveData2、串口通信编写代...

2021-12-22 20:17:01 248

原创 python 绘图

参考链接参考链接1:画二维动图的方法参考链接2:画三维图的方法要点用 ax = fig.gca(projection='3d')开始绘制3D图用ax.plot(x, y, z)画图,x y z 为三个一维数组,分别代表其下标对应的数据点的xyz三个坐标轴的坐标使用plt.pause(0.03)让程序停顿一下,显示图像代码## 绘制三维动图fig = plt.figure()# 设置三维图形模式ax = fig.gca(projection='3d')# 测试数据i = 0wh

2021-10-07 21:50:07 50

原创 Java Web 课程学习(一)HTML基础篇

标签:&lt;body&gt;常用属性:backgroun、bgcolor、text(设置文本颜色)、link、vlink、alink。标签:&lt;a&gt; 描述:用来建立一个链接常用属性 href、target标签:&lt;img&gt;描述:插入一张图片常用属性: alt(说明) width height border align src()图片位置表:无序表&lt;ul&gt;、有序表 ...

2018-03-23 17:00:00 323

原创 野火F407学习日志(二)————串口通信(简单发送代码部分)

第一步:GPIO部分首先使能GPIO时钟(千万要注意!!有很多函数和使能时钟函数长得很像,一定要看好)RCC_AHB1PeriphClockCmd(DEBUG_USART_RX_GPIO_CLK|DEBUG_USART_TX_GPIO_CLK,ENABLE);配置GPIO,MODE选AF并初始化GPIOGPIO_InitStructure.GPIO_OType = GPIO_OType_PP; ...

2018-03-10 08:29:27 1153

原创 数据结构课程设计————第二周总结(四大算法篇)

贪婪算法memset(起始地址, 覆盖内容,字节长度)sizeof(指针) 返回的是指针指向区域的大小函数作用,将覆盖内容以一个字节为长度覆盖在起始地址之后的内存之中,因此,此函数并不能给int型变量赋值。POJ4:放弃考试本题利用了数学的解法,在遇到 类似 分子一堆数相加分母一堆数相加求最值R的时候,把R看做自变量,整个式子放到等号一遍,变成一个函数,函数与横轴的交点即为题目中所描述的R的值,我...

2018-03-08 15:40:29 1099

原创 数据结构课程设计————第一周总结

简单算法题:poj4:肿瘤面积在做矩阵储存图片信息时,一定要考虑图中的目标形状在图像的边缘的情况。poj8:简单密码在做翻译题目是,要看清楚是从明文翻译到密文还是从密文翻译到明文线性表poj1 在好多情况下一定要考虑特殊值,边界值尤其是0!栈和队列poj1 滑动窗口单调队列的用法,适合找局部的最大值和最小值poj4 抓住那头牛搜索的时候一定要注意剪枝,常用的提高效率的方法有牺牲空间缩短时间,通过...

2018-03-02 23:03:30 213

原创 OPENCV3学习日志(二)————直方图的计算calcHist()和绘制

1、直方图简介:直方图是对数据统计的一种方法,并将统计值放到一系列的BIN中。例如我们可以将图像的灰度值进行统计,将灰度值均匀分成若干份,例如[0,255] = [0,15] U [16,31].... 然后在统计每一个区间上的像素数目,就可绘制出一个直方图。下边介绍一下直方图的一些术语和细节dims  需要统计的特征数目,在上例中 dims = 1.bins   每个特征分的子区间数目,在上例中...

2018-02-18 17:22:22 816

原创 野火F407学习日志(一)————串口通信(理论部分)

硬件:原生串口通信采用TTL电平进行通信,但是为了使串口和更多的设备,增加了一些电平转换芯片,野火F407上主要的串口通信方式主要有以下三种1、RS232标准2、USB转串口3、原生串口到串口RS232标准:RS232主要用于工业设备直接通信,对外的接口是DB9。USB转串口:主要用于开发板与电脑之间的通信,在电脑端需要安装相应的驱动才能正常使用。一般的串口电平转换芯片有CH340、PL2303、...

2018-02-13 21:53:27 544

原创 OPENCV3学习日志(一)————图像修补:inpaint()函数

c++: void inpaint(InputArray src, InputArray inpaintMask, OutputArray dst, double inpaintRadius, int flags)第一个参数:需要输入的图像,要求为8位单通道或者三通道图像第二个参数:修复掩膜, 八位单通道,非零像素表示要修补的区域。第三个参数:运行的结果要和原图像有一样的尺寸。第四个参数:需要修补...

2018-02-13 17:15:50 2724

原创 【算法笔记】区域型动态规划_石子并归

今天早晨稍微看了一些区域型动态规划的做法,并A了石子并归。区域型动态规划在石子并归上反应的做法就是将所有的堆划分成小堆,从小堆到大堆逐步合成取得最优解(小堆到大堆的变化即为区间长度的变化)。大堆的最优解的计算过程如下将大堆分成任意两个小堆,大堆的最小成本即为 这所有小堆组合中最小成本和的最小值 再加上本次合并的成本。由大堆的求解过程给出递推公式:为了与下方编程一

2017-12-16 08:19:00 1094

空空如也

空空如也

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

TA关注的人

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