- 博客(77)
- 资源 (15)
- 收藏
- 关注
原创 libboost库冲突问题
interface解决libboost库的问题。到/home/software/目录。下载libboost1.65.1,
2024-08-02 09:36:38 247
原创 视觉SLAM十四讲 第八讲 视觉里程计2 8.5直接法BA法 代码解析
总体思路提取特征点构建图优化问题边(误差项),在直接法中为光度误差边的增量项光度误差相对于李代数的雅可比矩阵:图像坐标对李代数的雅可比矩阵为 u 处的像素梯度边的误差项_error ( 0,0 ) = getPixelValue ( x,y ) - _measurement;g2o优化库增加顶点增加边(每个特征点一条边)优化迭代代码#include <iostr...
2020-03-24 21:37:47 773
原创 视觉SLAM十四讲 第八讲 视觉里程计2 8.5直接法 代码解析
总体思路随机选取图像点根据选取到的点和depth图、相机内参,获取这些点的三维空间点坐标由三维空间点坐标,相机位姿,投影到第二幅图像的相机坐标,再由相机内参,投影到第二幅图像。在第二幅图像上,遍历每个投影点,并累积该投影点固定窗口半径内的误差和雅可比由雅可比矩阵计算Hessian矩阵和bias矩阵及代价由LDLT分解法,求解增量,并由增量更新位姿T21 = Sophus::SE3d::...
2020-03-24 21:19:50 1044
原创 视觉SLAM十四讲 第八讲 视觉里程计2 8.3 使用LK光流 代码解析
整体思路单层图像的光流对第一帧图像提取FAST角点对提取到的角点提取光流特征检测及描述子生成,调用opencv的GFTTDetector对特征点,假定一个初始的运动量dx=0,dy=0。采用高斯牛顿法,最小化光度误差,求解运动量雅可比矩阵dx/dt,dy/dt即u,v。由u+1的像素值减u-1的像素值,得到dx/dt,同理得到dy/dt。由雅可比矩阵构建 矩阵和 ,代价...
2020-03-24 20:34:16 1133 3
原创 视觉SLAM十四讲 第八讲 视觉里程计2 8.2L-K光流 理论推导
光流描述了像素在图像中的运动,直接法附带着一个相机运动模型。光流是一种描述像素随时间在图像之间运动的方法,如图。随着时间的流逝,同一个像素会在图像中运动,而我们希望追踪它的运动过程。其中,计算部分像素运动的称为稀疏光流,计算所有像素的称为稠密光流。稀疏光流以Lucas-Kanade光流为代表,并可以在SLAM中用于跟踪特征点位置。Lucas-Kanade光流在LK光流中,认为来自相机的图像是...
2020-03-24 15:25:41 546
原创 视觉SLAM十四讲 第七讲 视觉里程计1 Bundle Adjustment公式推导
PnP问题可构建成一个定义于李代数上的非线性最小二乘问题。线性方法往往是先求位姿,再求空间点位置。非线性优化把它们都看成优化变量,放在一起优化。在PnP中,这个Bundle Adjustment问题,是一个最小化重投影误差(Reprojection error)的问题。n个三维空间点P及其投影p,希望计算相机的位姿 R,t\boldsymbol{R,t}R,t ,它的李代数为 $ \bold...
2020-03-24 14:01:47 769
原创 视觉SLAM十四讲 第七讲 视觉里程计1 3D-3D位姿求解 代码解析
总体思路对两幅图像img_1,img_2提取特征点特征点匹配通过相机内参求取特征点对应的相机坐标X,Y,获取特征点的深度信息Z。通过SVD分解,求除相机的位姿R,t。计算质心p1 += pts1[i];p1 = Point3f(Vec3f(p1) / N);去质心q1[i] = pts1[i] - p1;q2[i] = pts2[i] - p2;构建W矩阵q1*q2^T对W矩阵进行...
2020-03-24 11:27:47 832
原创 视觉SLAM十四讲 第七讲 视觉里程计1 3D-2D位姿求解 代码解析
总体思路对两幅图像img_1,img_2分别提取特征点特征匹配通过depth,获得第一幅图像匹配的特征点的深度,由相机内参K恢复这些特征点的三维坐标(相机坐标系)。由第一幅图像中的特征点的三维坐标、第二幅图像中特征点的2D像素坐标,以及相机内参K作为优化函数的输入,分别采用如下方法进行优化牛顿高斯法(1)构建误差方程,由相机位姿、相机内参获得第一幅图像特征点对应的三维坐标到第二幅图像...
2020-03-24 10:32:53 1093
原创 旋转向量与欧拉角 罗德里格斯公式(Rodrigues's Formula)
旋转向量旋转矩阵表达方式旋转矩阵描述旋转,变换矩阵描述一个6自由度的三维刚体运动。但存在如下缺点:SO(3)的旋转矩阵有9个量,但一次旋转只有3个自由度。因此这种表达方式是冗余的。同理,变换矩阵16个量表达了6个自由度的变换,也不够紧凑。旋转矩阵自身带有约束:它必须是个正交矩阵,且行列式为1。变换矩阵也是如此。当想要估计或优化一个旋转矩阵/变换矩阵时,这些约束会使得求解变得困难。外...
2020-02-25 11:18:09 6105 1
原创 基于视觉的位姿求解总结
1. 位姿求取方法 1. 2D-2D:通过二维图像点的对应关系,恢复出在两帧之间摄像机的运动。 1. 方法 1. 对极约束,八点法求本质矩阵,分解得旋转矩阵和平移矩阵 1. 5个自由度,8对点来估计 1. SVD分解 2. 单应矩阵:描述两个平面之间的映射关系,若场景中的特征点都落在同一平面上(如墙、地面),可以通过单应性来进行运动估计。 1...
2019-09-20 10:47:11 3830
原创 2D-2D:对极约束
对极约束匹配的特征点p1p_1p1,p2p_2p2。两幅图像I1I_1I1,I2I_2I2。第一帧到第二帧图像的运动R,t。两个相机的中心分别为O1O_1O1,O2O_2O2。I1I_1I1中特征点p1p_1p1,在I2I_2I2上对应的特征点p2p_2p2。如果二者匹配正确,则两点对应同一空间点在两个成像平面上的投影。p1p_1p1,在I2I_2I2,O1p1→\o...
2019-09-07 11:36:27 701
原创 世界坐标系和图像坐标系的对应关系
相机标定过程推导世界坐标系到成像坐标系的映射关系透镜模型近似关系(相似三角形)新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能...
2019-08-10 16:46:13 2158
原创 disparity_filter
opencv_example https://github.com/opencv/opencv_contrib/blob/master/modules/ximgproc/samples/disparity_filtering.cpp#include "opencv2/calib3d.hpp"#include "opencv2/imgproc.hpp"#include "opencv2/imgc
2017-08-29 13:35:27 4183
转载 Image watch +vs2013 配置和使用
http://www.cnblogs.com/liu-jun/p/3161654.html Image Watch是在VS2012上使用的一款OpenCV工具,能够实时显示图像和矩阵Mat的内容,跟Matlab很像,方便程序调试,相当好用。跟VS2012配合使用,简直就是一款神器!让我一下就爱上它了!第一次看到Image Watch是今年3、4月份的时候,当时是在微博上看到新闻,点击链接的下载页面
2017-05-22 10:00:43 1634
转载 动态规划入门
原http://blog.csdn.net/baidu_28312631/article/details/47418773教你彻底学会动态规划——入门篇分类:数据结构与算法 (22860) (27) 举报 收藏 动态规划相信大家都知道,动态规划算法也是新手在刚接触算法设计时很苦恼的问题,有时候觉得难以理解,但是真正理解之后,就会觉得动
2017-05-13 16:17:10 447
原创 Stereo Processing by Semi-Global Matching and Mutual Information 论文翻译
Stereo Processing by Semi-Global Matching and Mutual Information 论文翻译代价聚合部分 分段代价计算在噪声等的影响下,具有二义性和误匹配的点匹配代价低于正确点。因此,必须加上额外的约束,对临近的视差变化进行惩罚,实现平滑。分段代价和平滑约束表达为基于视差的能量函数的定义第一项是所有像素点对视差D匹配代价之和。第二项加入了对所有像素点q
2017-05-13 13:14:24 1723
原创 图像分割-halcon
1.全局阈值分割threshold(Image,Region,MinGray,MaxGray)gray_histo (Image, Image, AbsoluteHisto, RelativeHisto)PeakGray := sort_index(AbsoluteHisto)[255] //求出出现频率最多的灰度值threshold(Image,Region,0,PeakGray
2017-01-16 22:02:33 7427
原创 halcon截取图像中被标记的区域
read_image (Image_Tex, filePath+'/RectifyImageL_'+Index+'.hobj') read_region (GerberRegion, filePath+'/GerberRegion_'+Index+'.hobj') reduce_domain(Image_Tex,GerberRegionDilation,Mask)
2017-01-15 18:04:32 4279
原创 面试基础知识准备
图像基础知识:1. 常用的图像空间。2. 简述你熟悉的聚类算法并说明其优缺点。3. 请描述以下任一概念:SIFT/SURF LDA/PCA4. 请说出使用过的分类器和实现原理。5. Random Forest的随机性表现在哪里。6. Graph-cut的基本原理和应用。7. GMM的基本原理和应用。8. 用具体算法举例说明监督学习和非
2016-10-17 21:54:48 988
原创 c++基础知识积累
201610171.当一个类A 中没有声明任何成员变量与成员函数,这时sizeof(A)的值是多少?104运行时错误百度:class CBase{};运行cout<<"sizeof(CBase)="<<sizeof(CBase)<<endl;sizeof(CBase)=1;深度探索c++对象模型中是这样说的:
2016-10-17 20:23:24 1039
原创 笔试笔记
美团:哈夫曼编码,P(A)=0.4,P(B)=0.35,P(C)=0.2,P(D)=0.05,平均期望编码长度为A 1.45B 1.7C 1.85D 1.92tcp套接字中,不会阻塞的是哪种操作:A readB writeC acceptD bind假设某一虚拟存储系统采用先进先出FIFO页面淘汰算法,有一个进程在内存中占3页,开始时内存
2016-09-12 12:07:04 1758
原创 招聘信息累积
thoughtworkshttps://www.thoughtworks.com/cn/about-usThoughtworks 读书路线https://www.phodal.com/blog/thoughtworks-reading-book/作者书籍https://www.amazon.cn/dp/B01IBZWTWW
2016-09-10 23:23:35 419
原创 敏感度、特异性:TP TN FP FN sensitivity Accuracy
Predicted condition Total populationPredicted Condition positivePredicted Condition negativePrevalence= Σ Condition positive/Σ Total populationTrueconditioncondit
2016-08-26 08:54:55 4460
原创 机器学习总结
决策树,熵最大,作为根节点,选择是或否HMM,初始状态,转移概率,结果状态隐藏在可观测状态中,通过转移概率矩阵,到结果状态。https://www.zhihu.com/question/20962240https://www.ricequant.com/community/topic/788//5http://www.niubua.com/2015/07/16/%E4%B8
2016-08-23 09:39:04 575
转载 STL系列之一 deque双向队列
版权声明:本文为博主原创文章,未经博主允许不得转载。deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似,下面列出deque的常用成员函数: deque的实现比较复杂,内部会维护一个map(注意!不是STL中的map容器)即一小块连续的空间,该空间中每个元素都是指针,指向另一段(较大的)区域
2016-07-18 11:09:11 411
转载 STL系列之二 stack栈
栈(statck)这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的(First In Last Out, FILO)。栈只有一个出口,允许新增元素(只能在栈顶上增加)、移出元素(只能移出栈顶元素)、取得栈顶元素等操作。在STL中,栈是以别的容器作为底部结构,再将接口改变,使之符合栈的特性就可以了。因此实现非常的方便。下面就给出栈的函数列表和VS2008中栈的源代码,在STL中栈一共就5个
2016-07-18 10:54:24 503
原创 与平台无关的整型类型 int8_t
列表int8_t * ch;string str(ch);编译错误:无法从“int8_t *”转换为“const std::basic_string”解决办法:string str=string((char*)ch); 强制类型转换后编译通过。基础知识补充:参考http://blog.sina.com.cn/s/blog_65a8ab5d0
2016-07-05 15:39:00 1410
原创 MFC-combox和listbox、radio button、group box等控件及onTimer函数的应用
combox、listbox控件内容添加:控件访问方式: CEdit* editBox = (CEdit*)GetDlgItem(ID); CString str; editBox->GetWindowText(str); int checkRadio = GetCheckedRadioButton(ID_RADIO1, ID_RADIO3); switch (chec
2016-07-02 09:28:24 1444 1
原创 canny边缘检测
Canny边缘检测,滞后阈值分割。步骤:1.用高斯滤波器平滑输入图像。(核的大小:大于或等于6的最小奇整数)。2.计算梯度幅值图像和角度图像。3.对梯度幅值图像进行非最大值抑制。4.用双阈值处理和连接分析来检测并连接边缘。#include "opencv2/imgproc/imgproc.hpp"//#include "opencv2/imgcodecs.hpp"#in
2016-06-25 10:25:10 812
原创 LOG边缘检测--Marr-Hildreth边缘检测算法
边缘检测的改进:一、能计算图像中每一点处的一阶导数或二阶导数的数字近似的微分算子二、能被“调整”以便在任何期望的尺寸上起作用,因此,大的算子可以用于检测模糊边缘,小的算子可以用于检测锐度集中的精细细节。,,是拉普拉斯算子,而G是标准差为(有时也称为空间常数)的二维高斯函数G.称为高斯拉普拉斯,LoG的零交叉出现在处,它定义了一个中心位于原点,半径为的圆。LoG函数有时也称为墨西哥草帽算子。一个
2016-06-25 09:25:30 26026
原创 图像分割-10.2.4边缘模型、边缘检测、
边缘模型:台阶模型 斜坡模型 屋顶模型,一阶导数的幅度可用于检测图像中的某个点处是否存在一个边缘。二阶导数的符号可用于确定一个便于像素位于该边缘的俺的一侧还是亮的一侧。图像的每条边缘,二阶导数生成两个值(一条不希望的特点)。二阶导数的零交叉点(二阶导数级之间的连线与零灰度轴的交点称为该二阶导数的零交叉点),可用于定位粗边缘的中心。梯度算子一维模板
2016-06-24 19:56:55 4167
原创 图像分割-10.2.1点--.3线检测
线检测模板水平 +垂直 -原图:拉普拉斯:+:-水平竖直:(结果是这样,不知道为什么)程序代码:#include#include"opencv.hpp"using namespace cv;using namespace std;#define N 3#ifdef _DEBUG#
2016-06-24 16:27:18 1499
原创 图像处理之--图像分割10.1基础知识
1.单色图像的分割算法,基于处理灰度值的两类特性:不连续性和相似性。基于第一类特性,假设这些区域的边界彼此完全不同,且与背景不同,从而允许基于灰度的局部不连续性来进行边界检测。第二类基于区域的分割方法是根据事先定义的一组准则把一幅图像分割成相似的几个区域。2.例子:一幅在恒定灰度的暗背景上叠加一个恒定灰度区域的图像,基于灰度的局部不连续性来进行边界检测。
2016-06-24 13:34:31 1159
原创 Extracting Lines Using Differential Geometry and Gaussian Smooth--Carsten Steger 使用微分几何和高斯平滑进行边缘提取
在csdn中编辑公式参考:http://blog.csdn.net/gateway6143/article/details/23134225论文思路一、 对直线(一维曲线的检测)1. 真实图像常常包含噪声,对图像进行平滑去噪(高斯平滑): 2. 对去噪后的图像求一阶导数,得到图像的一阶响应3.
2016-06-21 12:01:29 3581 2
原创 Halcon MFC混合编程-图像显示随鼠标滚动放大缩小
MFC Halcon配置详见博客点击打开链接1.新建基于对话框工程,工程名取为image2.在类中定义如下变量和函数:public: HTuple m_hWnd; //显示窗口句柄 HObject m_hImage;//图像对象 HTuple m_hWidth;//图像宽 HTuple m_hHeight; CRect m_rtImage;
2016-06-13 19:56:32 14502 8
GitHubDesktopSetup.exe
2020-07-07
opencv410+contrib.7z
2019-08-07
machine learning in action
2015-11-07
机器学习实践(高清电子版)
2015-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人