自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

翻译 Lucas-Kanade 20 Years On: A Unifying Framework 翻译(三)

emmm,消失了半年后我回来了,这半年搞了一下毕业论文,发现光流法并没有那么神奇,于是失望了很久,但是当我意识到了直接法是光流法的演变后,我又回来了。不多说,上图。...

2019-03-05 22:23:38 1379 7

原创 关于c++11 std::vector 使用元素指针时需要留意的一点

这几天在写VO,需要实现一个功能,将二维坐标点按坐标放在平面上的网格里。这个功能很简单,但是为了节约一点内存,我打算将坐标点的指针放到网格里面,需要的时候用指针操作即可:vector< vector <vector <keypoint*> > > cells;然而在实际使用的时候却发现,有一大批的点的坐标居然被修改了。我非常确定的一点就是没有地方可以...

2019-02-01 15:26:41 2505

原创 基于块匹配的双目视差函数的实现

理想状态下,双目相机拍出的两张照片left和right种,left图像中的某一个像素应当可以在right中同一行(opencv中的row)中找到该像素对应的像素,根据这两个像素的x坐标差,便可以得到图像的深度图。但是并非每一个像素都可以找到其对应像素,原因有:(1)由于遮挡关系,left中的像素无法在right中找到(2)由于某些处于非朗伯面(比如水面、镜面、玻璃)的点由于光照原因无法匹配...

2019-01-09 21:01:05 660

原创 Canny边缘检测的c++&&OpenCV实现

Canny边缘检测算法是一种比较常见且效果较好的边缘检测算法,其优点在于得到的边缘为单像素边缘,但是速度较Sobel等边缘检测算法较慢。网上Canny算法的算法介绍很多,此处不仔细写了,主要分为五步,分别是:高斯去噪,梯度计算、梯度方向计算、非极大值抑制和双阈值边缘抑制。其中,非极大值抑制保证了边缘检测结果为单像素边缘,双阈值边缘抑制的作用为去掉孤立的低阈值边缘。以下代码为Canny算子的简单实现...

2018-12-20 19:13:59 921

原创 Harris角点检测的实现(cv::Mat && c++)

原文链接或Google “A COMBINED CORNER AND EDGE DETECTOR”可以找到Harris角点检测的论文。简单的概括一下,Harris角点检测的原理为,通过计算论文中的R来判断某一个像素点是否为角点,通常情况下,当R为正数且较大时,该点为角点。若R为负数且绝对值较大时,该点为边缘点。若R的绝对值较小,则该点通常位于光滑区域。计算R需要两个基本量,一个为dx,另一...

2018-11-02 11:32:34 689

原创 我的自学编程之路

从决定转IT那天到现在,已经四年了,一路上经历了许多的坎坷,困难,直到现在终于略有收获,找到了一份满意的工作。期间走过许多弯路,吃了很多亏,也有很多反思和感悟。决定转行的那天是2014年10月7日,距离那年的考研还有81天。原本打算考体育专业的我,和家人以及老师做了一些分析以后,决定转行考软件工程。但是那个时候我根本不知道自己面对的是什么,从没学过高数,只有一点点少得可怜的c语言基础(计算机三...

2018-10-23 14:12:51 3491 20

翻译 Lucas-Kanade 20 Years On: A Unifying Framework 翻译(二)

前一段时间找工作,慌的一批,发现SLAM的工作确实不好找,无奈之下只得放弃SLAM岗位,去搞网络安全了。当然喽,论文还是会继续翻译,这次先祭上LK算法的第一中变形:forward compositional,它可以为后面的inverse compositional做铺垫,而inverse compositional 在SVO中被应用,具体的翻译会在近期发布...

2018-10-06 13:10:55 1819 6

翻译 Lucas-Kanade 20 Years On: A Unifying Framework 翻译(一)

最近在学习LK光流法,也希望可以和更多人分享自己的学习成果。后面一段时间我将不定期的更新对这篇文章的翻译,由于接触图像的时间不长,如果有翻译不足的地方,请多多指教,欢迎评论,文章中红色部分为我不确定的地方,蓝色的地方为自己的想法。第一天先奉上前两章的翻译,在翻译结束我会将里面的算法用c++实现,希望能与各位一起进步。...

2018-08-23 22:10:52 2850 5

原创 list iterator not dereferencable

这可能是我写的最短的博客……出现这个问题一般有两种情况,第一种是访问到了list.end()节点,检查这种情况的方式是在循环的开头处写一个判断,if(list.end() == something)return;第二种比较特殊,即访问到了list.begin()前面的节点。如果是倒序遍历,可以采用与上一行相同的方式进行判断,if(list.rend() == something)r...

2018-08-12 16:45:00 2259

原创 deepin 下 使用qt 编写OpenGL程序

首先我们需要配置OpenGL$ sudo apt-get install build-essentia$ sudo apt-get install libgl1-mesa-dev$ sudo apt-get install libglu1-mesa-dev$ sudo apt-get install libglut-dev其次从深度商店中下载qtqt在第一次使用时会出现:"no valid ...

2018-05-27 10:44:32 872 2

原创 python 闭包与装饰器 简介

在看装饰器之前,首先我们必须简单了解一下闭包的。闭包可以简单的描述为:内层函数在运行中需要调用外层函数中的变量,并且外层函数的返回值为内层函数。例如:def outer(): a = 12 def inner(): print(a, inner.__closure__[1].cell_contents) return innerouter()()inner...

2018-04-24 17:09:33 283

原创 python iter()函数简介

初学python3,简单总结一下iter函数的用法。输出iter函数的__doc__可以看到如下内容:iter(iterable) -> iteratoriter(callable, sentinel) -> iteratorGet an iterator from an object.  In the first form, the argument mustsupply its o...

2018-04-23 16:53:18 1996

原创 C++转JAVA的一点感想

   出于找工作的原因,在导师的建议下,学习了JAVA语言,深感JAVA编程之轻便,写一点感悟,并且简单的对比以下JAVA与C++的一些异同点,以便大家转JAVA的时候更加高效。  首先最大的不同在于Java没有指针,更准确的说是没有*以及&符号。从我的角度理解,Java声明的对象其实都是一个指针,指向了一个new 的对象或者一个已经存在的对象,所以我们不需要去delete,因为J...

2018-02-23 20:57:02 9430 7

原创 利用栈循环遍历二叉树

在阐述我的思路之前,我们先来看看递归遍历二叉树到底发生了什么,以中序遍历为例:void InOrder(BinaryTreeNode* node){ if(!node)return;//第一行 InOrder(node->leftChild);//第二行 cout data << " ";//第三行 InOrder(node->rightChild);//第

2018-02-06 12:06:31 1447

原创 (学习记录)Win32开发之鼠标

相关函数预览:int WINAPI GetSystemMetrics( _In_ int nIndex);BOOL WINAPI ScreenToClient(  _In_ HWND hWnd,   _Inout_ LPPOINT lpPoint);BOOL WINAPI ClientToScreen(  _In_ HWND hWnd,   _Inout_ LPPOINT lpPoin

2018-02-01 10:57:20 514

原创 (学习记录)Win32开发之键盘

相关函数预览:SHORT WINAPI GetKeyState(_In_intnVirtKey);SHORT WINAPI GetAsyncKeyState( _In_int vKey);LRESULT WINAPI SendMessageW( _In_ HWND hWnd, _In_ UINT Msg, _Pre_maybenull_ _Post_valid_ W

2018-01-29 11:59:06 1270

原创 (学习记录)Win32开发之滚动条

相关函数预览: BOOL SetScrollRange(HWND hWnd,  int nBar, int nMinPos, int nMaxPos, BOOL bRedraw); int SetScrollPos(HWND hWnd,  int nBar, int nPos, BOOL bRedraw); int SetScrollInfo(HWND hWnd,  int nBar,

2018-01-28 20:30:31 1986

原创 (学习记录)无默认构造函数时如何定义该元素的数组

当某一个类没有默认构造函数时,定义该对象的数组时,编译器会报错:error C2512: “A”: 没有合适的默认构造函数可用出现这种问题时,可以采用new()重载的方式进行解决,采用这种方法必须包含头文件,实现代码如下:class A{public: A(int _a) { a = _a; cout << "构造函数 " << a << endl; } ~A() { cou

2018-01-23 17:34:06 829

原创 浅谈C语言 if else, switch, 条件运算符, 函数指针的选择问题

最近在写一个程序,其中有一个关键部分需要很多分支语句,由于这段代码需要被大量调用,所以效率问题自然成为了关键,在网上搜索了许多帖子,看到对这种情况的处理大概有 if else,switch,条件运算符以及函数指针四种方式。借助vs2015,查看了以下这这几种方式的反汇编,下面是对每种情况进行简单的分析:假设我们有十种选择,分别是0,1,2,3,4,5,6,7,8,9。按照从前的思维方式,很自然

2018-01-10 14:33:34 772

空空如也

空空如也

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

TA关注的人

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