自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 OpenGL与OpenCV实现增强现实小程序

该程序通过OpenCV实现对Marker的识别和定位,然后通过OpenGL将虚拟物体叠加到摄像头图像下,实现增强现实

2017-10-30 14:59:15 1295

原创 SLAM相关概念及ORB算法步骤总结

ORB-SLAM的优点和缺点ORB算法步骤单目SLAMORB VS PTAM

2017-10-30 10:03:17 3120

转载 《视觉SLAM十四讲》内容摘要

SLAM特指:特指搭载传感器的主体,在没有环境先验的信息情况下,在运动过程中建立环境模型,通过估计自己的运动。 SLAM的目的是解决两个问题:1、定位 2、地图构建 也就是说,要一边估计出传感器自身的位置,一边要建立周围环境的模型 最终的目标:实时地,在没有先验知识的情况下进行定位和地图重建。 当相机作为传感器的时候,我们要做的就是根据一张张连续运动的图像,从中估计出相机的运动以及周围环境中的情况

2017-10-30 10:00:09 2944

原创 算法学习(3):动态规划DP

动态规划过程: 每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划

2017-10-28 14:34:26 410

转载 算法学习(2):BFS/DFS-广度优先/深度优先

DFS思想:一直往深处走,直到找到目标或者走不下去为止。通常用递归来实现使用栈保存未被遍历的结点,结点按照深度优先的次序被访问并被压入栈中,并以相反的次序出栈应用:走迷宫,查找环路,查找联通区域BFS思想:先遍历所有的兄弟节点再遍历子节点,按层遍历。通常用队列来实现使用队列保存未被检测的结点。结点按照广度优先的次序被访问和进出队列应用:找最短的路径,或者到一

2017-10-27 16:44:24 327

转载 算法学习(1):最短路径—Dijkstra算法和Floyd算法

一.Floyd算法1.定义概览Floyd-Warshall算法是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被用于计算有向图的传递闭包。算法的时间复杂度为O(N3),空间复杂度为O(N2)。 2.算法描述1)算法思想原理:     Floyd算法是一个经典的动态规划算法。用通俗的语言来描述的话,首先我们的目标是寻找从点i到点j的最短路径

2017-10-27 15:34:28 731

转载 OpenGL学习: 反走样初步(Anti-aliasing basic)

绘制的物体边缘部分出现锯齿的现象称之为走样(aliasing)。反走样(Anti-aliasing)是减轻这种现象的方法。反走样本身也是一个比较复杂的主题,深入了解需要有信号处理中的背景知识,例如信号采样、信号重构、滤波等知识,本节作为一个初步探讨,我们不深入反走样算法的细节。主要以OpenGL中实现的MSAA(Multi-Sampled Anti-Aliasing)为重点,介绍在OpenGL中反走样的处理

2017-10-27 14:51:54 931

转载 C++ auto_ptr智能指针的用法

C++中指针申请和释放内存通常采用的方式是new和delete。然而标准C++中还有一个强大的模版类就是auto_ptr,它可以在你不用的时候自动帮你释放内存。下面简单说一下用法用法一: std::auto_ptrm_example(new MyClass()); 用法二: std::auto_ptrm_example; m_example.reset(new M

2017-10-27 14:31:45 210

转载 浅拷贝和深拷贝的区别

拷贝构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。其唯一的参数(对象的引用)是不可变的(const类型)。此函数经常用在函数调用时用户定义类型的值传递及返回。拷贝构造函数要调用基类的拷贝构造函数和成员函数。如果在类中没有显式地声明一个拷贝构造函数,那么,编译器将会自动生成一个默认的拷贝构造函数,该构造函数完成对象之间的浅拷贝。那么什么是深拷贝呢?如果一个类拥有资源,当这个类的对象发生复制过程的时候,资源重新分配,这个过程就是深拷贝,反之,没有重新分配资源,就是

2017-10-27 13:58:11 243

转载 OpenGL学习:几何着色器(geometry shader)

除了顶点着色器(vertex shader)和片元着色器(fragment shader),实际上OpenGL还提供了一个可选的几何着色器(geometry shader)。几何着色器位于顶点和片元着色器之间,如果没有使用时,则顶点着色器输出到片元着色器,在使用几何着色器后,顶点着色器输出组成一个基础图元的顶点信息到几何着色器,经过几何着色器处理后,再输出到片元着色器。几何着色器能够产生0个以上的

2017-10-26 15:50:32 1152

转载 OpenGL学习: uniform blocks(UBO)在着色器中的使用

目前,我们在着色器中要传递多个uniform变量时,总是使用多个uniform,然后在主程序中设置这些变量的值;同时如果要在多个shader之间共享变量,例如投影矩阵projection和视变换矩阵view的话,仍然需要为不同shader分别设置这些uniform变量。本节将为大家介绍interface block,以及基于此的uniform buffer object(UBO),这些技术将简化着

2017-10-25 17:03:56 4072

转载 OpenGL学习脚印:缓冲对象相关函数的使用(buffer object function)

OpenGL中还包含除了我们前面介绍的VAO,VBO,EBO等其他类型的缓冲对象。本文将通过简洁、可靠的例子说明一些重要方法的使用,以辅助学习这些方法。本文的目的不是写成详细而厚重的手册,对于文中未详细说明的部分,请参考官方文档。 学习这些内容的过程需要随着实践慢慢积累,因此本文也将随着实践进行,不断更新。本节示例代码均可以在我的github下载。buffer object的概念

2017-10-24 14:03:01 344

转载 OpenGL学习: 环境纹理映射(environment mapping)

上一节初步学习了使用cubeMap创建天空包围盒,本节继续深入Cubemap这个主题,学习环境纹理贴图。本节示例程序均可以从我的github下载。本节内容整理自: 1.www.learnopengl.com cubemaps环境纹理贴图同上一节的Cubemap创建天空包围盒有些类似,创建环境纹理贴图也是对当前待渲染物体,从包围的环境纹理上采样作为这个物体的纹

2017-10-23 16:34:24 1378

转载 OpenGL学习:立方体纹理和天空包围盒(Cubemaps And Skybox)

写在前面 之前学习了2D纹理映射,实际上还有其他类型的纹理有待我们进一步学习,本节将要学习的立方体纹理(cubemaps),是一种将多个纹理图片复合到一个立方体表面的技术。在游戏中应用得较多的天空包围盒可以使用cubemap实现。本节示例程序均可以在我的github下载。本节内容整理自: 1.Tutorial 25:SkyBox 2.www.learnopengl.co

2017-10-20 14:15:15 1843

转载 便签.txt

1.xorg截图:xwd -display :0.0 -out root.xwd -root   转换:convert 1.xwd 1.jpg  2./etc/fstab:当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录3.ulimit -s unlimited 调节堆栈大小  ulimit -C unlimited

2017-10-20 11:41:15 460

转载 git使用

1.查看某个文件的修改记录:git blame或者 git loggit log --pretty=oneline packaging/opengl-es-mali-midgard.spec  git show 2998bf4ac8ff13e6e6ecc61336626e126cae75aa2.git  remote -v3.git stash,git stash apply,gi

2017-10-19 17:06:13 393

转载 OpenGL学习: 帧缓冲对象(Frame Buffer Object)

写在前面 一直以来,我们在使用OpenGL渲染时,最终的目的地是默认的帧缓冲区,实际上OpenGL也允许我们创建自定义的帧缓冲区。使用自定义的帧缓冲区,可以实现镜面,离屏渲染,以及很酷的后处理效果。本节将学习帧缓存的使用.。本节内容整理自 1.OpenGL Frame Buffer Object (FBO) 2.www.learnopengl.com Framebu

2017-10-19 10:59:59 1105

转载 C语言中的volatile

volatilevolatile是一个类型修饰符(type specifier),就像大家更熟悉的const一样,它是被设计用来修饰被不同线程访问和修改的变量。volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。作用简单地说就是防止编译器对代码进

2017-10-14 10:01:42 248

空空如也

空空如也

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

TA关注的人

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