自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (15)
  • 收藏
  • 关注

原创 视觉SLAM十四讲 第八讲 视觉里程计2 8.5直接法BA法 代码解析

总体思路提取特征点构建图优化问题边(误差项),在直接法中为光度误差边的增量项光度误差相对于李代数的雅可比矩阵:图像坐标对李代数的雅可比矩阵为 u 处的像素梯度边的误差项_error ( 0,0 ) = getPixelValue ( x,y ) - _measurement;g2o优化库增加顶点增加边(每个特征点一条边)优化迭代代码#include <iostr...

2020-03-24 21:37:47 729

原创 视觉SLAM十四讲 第八讲 视觉里程计2 8.5直接法 代码解析

总体思路随机选取图像点根据选取到的点和depth图、相机内参,获取这些点的三维空间点坐标由三维空间点坐标,相机位姿,投影到第二幅图像的相机坐标,再由相机内参,投影到第二幅图像。在第二幅图像上,遍历每个投影点,并累积该投影点固定窗口半径内的误差和雅可比由雅可比矩阵计算Hessian矩阵和bias矩阵及代价由LDLT分解法,求解增量,并由增量更新位姿T21 = Sophus::SE3d::...

2020-03-24 21:19:50 990

原创 视觉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 1075 3

原创 视觉SLAM十四讲 第八讲 视觉里程计2 8.2L-K光流 理论推导

光流描述了像素在图像中的运动,直接法附带着一个相机运动模型。光流是一种描述像素随时间在图像之间运动的方法,如图。随着时间的流逝,同一个像素会在图像中运动,而我们希望追踪它的运动过程。其中,计算部分像素运动的称为稀疏光流,计算所有像素的称为稠密光流。稀疏光流以Lucas-Kanade光流为代表,并可以在SLAM中用于跟踪特征点位置。Lucas-Kanade光流在LK光流中,认为来自相机的图像是...

2020-03-24 15:25:41 498

原创 视觉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 694

原创 视觉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 760

原创 视觉SLAM十四讲 第七讲 视觉里程计1 3D-2D位姿求解 代码解析

总体思路对两幅图像img_1,img_2分别提取特征点特征匹配通过depth,获得第一幅图像匹配的特征点的深度,由相机内参K恢复这些特征点的三维坐标(相机坐标系)。由第一幅图像中的特征点的三维坐标、第二幅图像中特征点的2D像素坐标,以及相机内参K作为优化函数的输入,分别采用如下方法进行优化牛顿高斯法(1)构建误差方程,由相机位姿、相机内参获得第一幅图像特征点对应的三维坐标到第二幅图像...

2020-03-24 10:32:53 1029

原创 旋转向量与欧拉角 罗德里格斯公式(Rodrigues's Formula)

旋转向量旋转矩阵表达方式旋转矩阵描述旋转,变换矩阵描述一个6自由度的三维刚体运动。但存在如下缺点:SO(3)的旋转矩阵有9个量,但一次旋转只有3个自由度。因此这种表达方式是冗余的。同理,变换矩阵16个量表达了6个自由度的变换,也不够紧凑。旋转矩阵自身带有约束:它必须是个正交矩阵,且行列式为1。变换矩阵也是如此。当想要估计或优化一个旋转矩阵/变换矩阵时,这些约束会使得求解变得困难。外...

2020-02-25 11:18:09 5507 1

原创 基于视觉的位姿求解总结

1. 位姿求取方法 1. 2D-2D:通过二维图像点的对应关系,恢复出在两帧之间摄像机的运动。 1. 方法 1. 对极约束,八点法求本质矩阵,分解得旋转矩阵和平移矩阵 1. 5个自由度,8对点来估计 1. SVD分解 2. 单应矩阵:描述两个平面之间的映射关系,若场景中的特征点都落在同一平面上(如墙、地面),可以通过单应性来进行运动估计。 1...

2019-09-20 10:47:11 3622

原创 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 643

原创 世界坐标系和图像坐标系的对应关系

相机标定过程推导世界坐标系到成像坐标系的映射关系透镜模型近似关系(相似三角形)新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能...

2019-08-10 16:46:13 2062

原创 opencv3.3+opencv_contrib+vs2013编译

opencv3.3 opencv_contrib vs2013

2017-09-07 20:40:32 3161 1

原创 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 4004

转载 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 1582

转载 动态规划入门

原http://blog.csdn.net/baidu_28312631/article/details/47418773教你彻底学会动态规划——入门篇分类:数据结构与算法 (22860)  (27)  举报  收藏    动态规划相信大家都知道,动态规划算法也是新手在刚接触算法设计时很苦恼的问题,有时候觉得难以理解,但是真正理解之后,就会觉得动

2017-05-13 16:17:10 424

原创 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 1671

原创 图像分割-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 7283

原创 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 4136

原创 Java 第一个Hello world 程序

java hello world

2016-12-06 15:59:36 684

原创 面试基础知识准备

图像基础知识:1. 常用的图像空间。2. 简述你熟悉的聚类算法并说明其优缺点。3. 请描述以下任一概念:SIFT/SURF LDA/PCA4. 请说出使用过的分类器和实现原理。5. Random Forest的随机性表现在哪里。6. Graph-cut的基本原理和应用。7. GMM的基本原理和应用。8. 用具体算法举例说明监督学习和非

2016-10-17 21:54:48 813

原创 c++基础知识积累

201610171.当一个类A 中没有声明任何成员变量与成员函数,这时sizeof(A)的值是多少?104运行时错误百度:class CBase{};运行cout<<"sizeof(CBase)="<<sizeof(CBase)<<endl;sizeof(CBase)=1;深度探索c++对象模型中是这样说的:

2016-10-17 20:23:24 1008

原创 c++笔试问题

输入时,while(cin>>c){}注意从键盘输入时,一定要将输入法转换为英文。中文的“,”所占字节数与英文不同。

2016-09-12 12:20:53 534 1

原创 笔试笔记

美团:哈夫曼编码,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 1710

原创 招聘信息累积

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 395

原创 SQL学习

入门教程http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html

2016-08-29 21:01:12 428

原创 敏感度、特异性:TP TN FP FN sensitivity Accuracy

Predicted condition Total populationPredicted Condition positivePredicted Condition negativePrevalence= Σ Condition positive/Σ Total populationTrueconditioncondit

2016-08-26 08:54:55 4321

原创 机器学习总结

决策树,熵最大,作为根节点,选择是或否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 527

原创 c++问题集锦之--无法启动程序,系统找不到指定文件

问题情形:解决步骤如下:1)2)3)再重新编译,运行,就可以啦!

2016-07-26 10:52:53 11359 5

转载 STL系列之一 deque双向队列

版权声明:本文为博主原创文章,未经博主允许不得转载。deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似,下面列出deque的常用成员函数: deque的实现比较复杂,内部会维护一个map(注意!不是STL中的map容器)即一小块连续的空间,该空间中每个元素都是指针,指向另一段(较大的)区域

2016-07-18 11:09:11 378

转载 STL系列之二 stack栈

栈(statck)这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的(First In Last Out, FILO)。栈只有一个出口,允许新增元素(只能在栈顶上增加)、移出元素(只能移出栈顶元素)、取得栈顶元素等操作。在STL中,栈是以别的容器作为底部结构,再将接口改变,使之符合栈的特性就可以了。因此实现非常的方便。下面就给出栈的函数列表和VS2008中栈的源代码,在STL中栈一共就5个

2016-07-18 10:54:24 470

原创 与平台无关的整型类型 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 1350

原创 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 1378 1

原创 canny边缘检测

Canny边缘检测,滞后阈值分割。步骤:1.用高斯滤波器平滑输入图像。(核的大小:大于或等于6的最小奇整数)。2.计算梯度幅值图像和角度图像。3.对梯度幅值图像进行非最大值抑制。4.用双阈值处理和连接分析来检测并连接边缘。#include "opencv2/imgproc/imgproc.hpp"//#include "opencv2/imgcodecs.hpp"#in

2016-06-25 10:25:10 784

原创 LOG边缘检测--Marr-Hildreth边缘检测算法

边缘检测的改进:一、能计算图像中每一点处的一阶导数或二阶导数的数字近似的微分算子二、能被“调整”以便在任何期望的尺寸上起作用,因此,大的算子可以用于检测模糊边缘,小的算子可以用于检测锐度集中的精细细节。,,是拉普拉斯算子,而G是标准差为(有时也称为空间常数)的二维高斯函数G.称为高斯拉普拉斯,LoG的零交叉出现在处,它定义了一个中心位于原点,半径为的圆。LoG函数有时也称为墨西哥草帽算子。一个

2016-06-25 09:25:30 25250

原创 图像分割-10.2.4边缘模型、边缘检测、

边缘模型:台阶模型 斜坡模型 屋顶模型,一阶导数的幅度可用于检测图像中的某个点处是否存在一个边缘。二阶导数的符号可用于确定一个便于像素位于该边缘的俺的一侧还是亮的一侧。图像的每条边缘,二阶导数生成两个值(一条不希望的特点)。二阶导数的零交叉点(二阶导数级之间的连线与零灰度轴的交点称为该二阶导数的零交叉点),可用于定位粗边缘的中心。梯度算子一维模板

2016-06-24 19:56:55 4046

原创 图像分割-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 1420

原创 图像处理之--图像分割10.1基础知识

1.单色图像的分割算法,基于处理灰度值的两类特性:不连续性和相似性。基于第一类特性,假设这些区域的边界彼此完全不同,且与背景不同,从而允许基于灰度的局部不连续性来进行边界检测。第二类基于区域的分割方法是根据事先定义的一组准则把一幅图像分割成相似的几个区域。2.例子:一幅在恒定灰度的暗背景上叠加一个恒定灰度区域的图像,基于灰度的局部不连续性来进行边界检测。

2016-06-24 13:34:31 1121

原创 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 3509 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 14185 8

原创 使控件和MFC窗口一起最大最小化

1.选中对话框,右键-》属性-》消息,添加WM_SIZE函数。2.在对话框.h文件里面添加:void ReSize();POINT old;3.在初始化函数中添加;

2016-06-07 15:04:15 1975 1

vins论文公式推导

vins-mono全篇公式推导及代码对应,可以帮助很好地理解vins全过程,结合代码可以深刻理解论文的逻辑,并在引导下修改代码。

2020-10-30

OpenCV410_contrib_release.7z

vs2017编译的OpenCV410,带contrib和eigen的库,亲测可用,release版本。

2020-07-09

GitHubDesktopSetup.exe

2020年7月的gitHubDesktopSetup的windows客户端安装版本,亲测可用,支持代码下载和上传,也支持url来clone其他仓库。

2020-07-07

opencv320withcontrib.7z

在cmake下生成的包含opencv320的release 和 debug版本的库文件,vs版本为2015

2020-02-27

opencv410+contrib.7z

opencv-4.1.0 +opencv-4.1.0contrib在vs2015环境下编译的 x64位,含eigen, debug+release库

2019-08-07

opencv3.2及contrib(已编译好)

opencv3.2及contrib,已经编译好,配置可用

2017-08-29

C++ Concurrency in Action 中英文及代码

C++ Concurrency in Action c++并发编程 中英文版书及代码

2016-11-26

MFC+Halcon混合编程,图像随鼠标滚动放大缩小

MFC+Halcon混合编程,实现图像的读取、显示,图像随鼠标滚动放大缩小

2016-07-05

控件使用实例程序combox,groupbox,radio,timer

控件使用实例程序combox,groupbox,radio,timer

2016-07-04

machine learning in action

本书第一部分主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了多种经典的监督学习算法,如k近邻算法、朴素贝叶斯算法、Logistic回归算法、支持向量机、AdaBoost集成方法、基于树的回归算法和分类回归树(CART)算法等。第三部分则重点介绍无监督学习及其一些主要算法:k均值聚类算法、Apriori算法、FP-Growth算法。第四部分介绍了机器学习算法的一些附属工具

2015-11-07

机器学习实践(高清电子版)

本书第一部分主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了多种经典的监督学习算法,如k近邻算法、朴素贝叶斯算法、Logistic回归算法、支持向量机、AdaBoost集成方法、基于树的回归算法和分类回归树(CART)算法等。第三部分则重点介绍无监督学习及其一些主要算法:k均值聚类算法、Apriori算法、FP-Growth算法。第四部分介绍了机器学习算法的一些附属工具

2015-11-07

pca获取特征脸(opencv+vs)

在vs环境下的opencv代码,pca实现特征脸提取

2015-10-07

人脸数据库(40个人每人10张不同角度和光照)

人脸数据库(40个人每人10张不同角度和光照)

2015-10-07

gamma校正的c++实现

采用c++对数字图像进行了gamma变换,并绘出了相应的灰度分布直方图以及原图像经过gamma变换后的效果图。实践了gamma变换理论。

2015-07-21

c++直方图均衡化

采用c++语言,编写了直方图均衡化处理的类,并用opencv绘制了均衡化前后的统计直方图,以及通过直方图均衡化的原图像。该文件包括代码及结果图。

2015-07-18

空空如也

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

TA关注的人

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