软件开发文档整理(之)一张示意图 | 清晰明了

  在整个软件开发周期,开发文档是必不可少的资料,它们贯穿于整个开发周期,用来评估计划、规划进度、项目管理、软件测试、软件发布,可以说至关重要。   开发文档必须归档,没有归档的文档作用大打折扣,时效性低且管理混乱。必须有计划有目的性有条理的编写相关文档,并和软件产品一起科学管理。   这里,笔者...

2018-12-29 17:13:35

阅读数 127

评论数 0

OpenSceneGraph | OSG如何存储带纹理osgb格式可以节省空间

  在使用OSG(OpenSceneGraph)存储带纹理osgb格式的过程中,大家会遇到这样一种情况:存储后的osgb文件所占用的大小远大于原始文件的大小,几倍至几十倍。这是为何呢?原因是OSG默认的存储格式是不压缩存储,所以解决方案就是设置参数将存储格式改为压缩存储。方法如下: osg::r...

2018-12-13 16:49:23

阅读数 426

评论数 0

不要排斥中文注释

  项目的代码注释,我们并不限定只能使用英文,对某些对较为复杂算法的解释,用英文会带来理解上的问题,用中文注释更易理解,一般简单易懂的可以用英文,注释最重要的是能够看懂,看不懂,用多国际化的语言都不顶用,代码不只是给自己看的。而且在存在复杂语句的时候,如果英文注释各种语法不通,就更是闹笑话了。  ...

2018-12-03 11:12:35

阅读数 72

评论数 0

C++学习 | C++ Implement的使用 | 消除 warning C4251 | 精简库接口

  在编写C++动态库的过程中,我们常常会听到某个要求:请隐藏动态库头文件里类接口里的成员变量!或者自己在编写动态库时,突然意识到自己好像让调用者看到的信息太多了,而这些信息根本无需被调用者看到,往往调用者只需要接口函数而已,所以给他们接口函数就可以了。   暴露动态库头文件类接口里的成员变量有...

2018-12-02 21:41:02

阅读数 326

评论数 1

C/C++ Muti-Thread多线程编程学习(之)线程Thread | 创建、运行、结束

文章目录前言线程 Thread创建线程CreateThread_beginthread_beginthreadexpthread_create线程运行结束线程事件 Event队列 Queue信号量 Semaphore 前言   多线程(Multi-Thread),是指从软件或者硬件上实现多...

2018-11-24 17:35:54

阅读数 289

评论数 0

CUDA并行计算 | CUDA算法效率提升关键点概述

文章目录前言存取效率计算效率性能优化要点展现足够的并行性优化内存访问优化指令执行 前言   CUDA算法的效率总的来说,由存取效率和计算效率两类决定,一个好的CUDA算法必定会让两类效率都达到最优化,而其中任一类效率成为瓶颈,都会让算法的性能大打折扣。 存取效率   存取效率即GP...

2018-11-22 19:07:31

阅读数 400

评论数 2

CUDA并行计算 | 线程模型与内存模型

文章目录@[toc]前言CUDA线程模型(如何组织线程)CUDA内存模型(了解不同内存优缺点,合理使用) 前言   CUDA(Compute Unified Device Architecture)[139]是显卡厂商NVIDIA推出的通用并行计算平台和编程模型,它利用NVIDIA GPU...

2018-11-21 09:44:45

阅读数 435

评论数 0

双目立体匹配经典算法之Semi-Global Matching(SGM)概述:视差计算、视差优化

视差计算   在SGM算法中,视差计算采用赢家通吃(WTA)算法,每个像素选择最小聚合代价值所对应的视差值作为最终视差,视差计算的结果是和左影像相同尺寸的视差图,存储每个像素的视差值,在影像内外参数已知的情况下,视差图可以转换为深度图,表示每个像素在空间中的位置,图1为双目立体像对的真实视差图示...

2018-11-20 17:00:46

阅读数 2490

评论数 3

来个公式吧

  计算机视觉领域,最核心的莫过于公式二字,掌握了公式的奥妙,一切都变得简单。做科研,做产品,均是如此,解决问题的唯一法则: 来个公式吧!   都说数学要学好,实际上大部分问题,并不需要高深的数学知识。 ...

2018-11-14 22:14:34

阅读数 56

评论数 0

双目立体匹配经典算法之Semi-Global Matching(SGM)概述:代价聚合(Cost Aggregation)

  由于代价计算步骤只考虑了局部的相关性,对噪声非常敏感,无法直接用来计算最优视差,所以SGM算法通过代价聚合步骤,使聚合后的代价值能够更准确的反应像素之间的相关性。聚合后的新的代价值保存在与匹配代价空间C同样大小的聚合代价空间S中,且元素位置一一对应。   为了获得较好的匹配效果,SGM算法依...

2018-11-05 19:02:44

阅读数 3145

评论数 13

双目立体匹配经典算法之Semi-Global Matching(SGM)概述:匹配代价计算之Census变换(Census Transform,CT)

  基于互信息的匹配代价计算由于需要初始视差值,所以需要通过分层迭代的方式得到较为准确的匹配代价值,而且概率分布计算稍显复杂,这导致代价计算的效率并不高。学者Zabih和Woodfill 1 提出的基于Census变换法也被广泛用于匹配代价计算。Census变换是使用像素邻域内的局部灰度差异将像素...

2018-11-01 09:13:00

阅读数 1968

评论数 0

双目立体匹配经典算法之Semi-Global Matching(SGM)概述:匹配代价计算之互信息(Mutual Information,MI)

  半全局立体匹配算法Semi-Global Matching,SGM由学者Hirschmüller在2005年所提出1,提出的背景是一方面高效率的局部算法由于所基于的局部窗口视差相同的假设在很多情况下并不成立导致匹配效果较差;而另一方面全局算法虽然通过二维相邻像素视差之间的约束(如平滑性约束)而...

2018-10-30 20:09:53

阅读数 1898

评论数 0

双目立体匹配步骤详解

  根据Schrstein和Szeliski的总结,双目立体匹配可划分为四个步骤:匹配代价计算、代价聚合、视差计算和视差优化四个步骤。   匹配代价计算的目的是衡量待匹配像素与候选像素之间的相关性。两个像素无论是否为同名点,都可以通过匹配代价函数计算匹配代价,代价越小则说明相关性越大,是同名点的...

2018-10-23 09:44:47

阅读数 1430

评论数 2

双目立体匹配中的核线约束[极线约束]

  双目立体匹配在寻找同名点的过程中,若没有任何先验约束,则对左影像每个像素,需要在右影像全图空间中进行搜索,这种暴力搜索方法不仅效率非常低,而且很容易由于各种因素(如弱纹理、重复纹理等)搜索到错误的对应点,而利用核线几何约束则是减小搜索范围,提高匹配效率且降低错误匹配的一种有效方法。在摄影测量中...

2018-10-22 10:43:17

阅读数 1142

评论数 2

双目立体视觉中的坐标系与转换关系 [留意~摄影测量学与计算机视觉学科中的差异]

  两个摄像机拍摄同一景物构成双目成像模型,或者在单相机航空摄影以及时序序列摄影中,同一个相机在两个不同的位置对同一景物拍摄两张不同的影像,也构成双目成像模型。双目立体视觉的目标是利用三角测量原理从双目成像模型中恢复所拍摄景物的深度信息或者在空间中的三维坐标信息,即从二维成像影像中恢复三维信息。 ...

2018-10-19 10:44:42

阅读数 1088

评论数 0

初识立体匹配

与立体匹配之缘   2009年,我进入武汉大学遥感信息工程学院开始大学本科生涯,专业是遥感科学与技术,当时我根本不知道遥感学科是做什么的,只是觉得听着好像非常高端,所以报了这个专业,到现在已经9年有余,只想说,身为遥感人,此生无悔。   当时,遥感分为三个学科,遥感、摄影测量和地理信息系统,我...

2018-10-15 15:18:40

阅读数 294

评论数 0

筑梦起点

筑梦起点 2018年夏天,博士毕业,炎热的酷暑下是躁动的内心,渴望能够在这苍穹之下开拓自己的小小天地,去年10月份选择进入导师的公司做一名算法工程师,公司很有潜力,充满活力,没有人会向我保证一定会成功,但这正是吸引我的地方,仿佛在亲手筑造一个理想之巢,用尽全身力气,只愿青春无悔。 如果时光...

2018-10-15 14:02:05

阅读数 62

评论数 0

CUDA 关于 BLOCK数目与Thread数目设置

GPU的计算核心是以一定数量的Streaming Processor(SP)组成的处理器阵列,NV称之为Texture Processing Clusters(TPC),每个TPC中又包含一定数量的Streaming Multi-Processor(SM),每个SM包含8个SP。SP的主要结构为一...

2017-08-30 13:48:12

阅读数 1153

评论数 1

Exception from HRESULT:

在MFC工程中,在类向导的时候,偶尔会遇到 “Exception from HRESULT:” 的问题,问题的原因可能是移动工程之类的操作破坏了工程的某些文件或者更改了某些路径的映射关系,这里有一个解决方法: 删除所有解决方案生成时产生的中间文件然后重新生成解决方案。

2017-05-26 17:56:11

阅读数 235

评论数 0

递归函数对栈内存的使用

递归函数由于在递归运算中,重复的递归调用自身,函数的局部变量所占用的内存空间持续增长并不会被释放,导致局部变量所占用的栈内存可用空间越来越少,当递归调用次数达到一定数量,就可能会使得栈内存空间不足,导致内存分配失败。所以当设计递归函数的时候要注意递归的次数所可能达到的上限,避免该情况的发生。 ...

2017-02-06 11:52:48

阅读数 2210

评论数 0

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