草庐IT

用vi编辑hello.c,打印Hello World!,并编译、运行

用vi编辑hello.c,打印HelloWorld!,并编译、运行      vihello.c     按a进入编辑,输入如下代码      #include      intmain(){             printf(“HelloWorld!\n”);             return0;      }然后按Esc,英文状态下的:wq即可保存并退出      编译:      gcc hello.c编译后都会生产a.out文件      运行:      ./a.out然后出现HelloWorld!说明运行成功

slam原理介绍和经典算法

1.传统slam局限性    slam算法假设的环境中的物体都是处于静态或者低运动状态的,然而,现实世界是复杂多变的,因此这种假设对于应用环境有着严格的限制,同时影响视觉slam系统在实际场景中的应用性。当环境中存在动态物体时,会给系统带来错误的观测数据,同时降低系统的精度和鲁棒性。通过RANSAC算法(随机采样一致性)的外点处理机制能够解决部分异常点对于算法的影响。但是当动态物体占据空间的大部分时,依然会影响位姿跟踪,所以需要检测运动的物体、剔除动态区域的特征点,亦或者是降低在优化位姿的权重,减少对视觉定位的影响。 人身上为动态特征点,要尽可能的去除。2.常用算法:开源的系统(DS-SLAM

slam原理介绍和经典算法

1.传统slam局限性    slam算法假设的环境中的物体都是处于静态或者低运动状态的,然而,现实世界是复杂多变的,因此这种假设对于应用环境有着严格的限制,同时影响视觉slam系统在实际场景中的应用性。当环境中存在动态物体时,会给系统带来错误的观测数据,同时降低系统的精度和鲁棒性。通过RANSAC算法(随机采样一致性)的外点处理机制能够解决部分异常点对于算法的影响。但是当动态物体占据空间的大部分时,依然会影响位姿跟踪,所以需要检测运动的物体、剔除动态区域的特征点,亦或者是降低在优化位姿的权重,减少对视觉定位的影响。 人身上为动态特征点,要尽可能的去除。2.常用算法:开源的系统(DS-SLAM

git - 让 'git grep' 在 vi​​m 中有效工作

Fugitive.vim允许我运行gitgrep命令;不幸的是,结果没有存储在快速修复列表中,所以我需要在:Ggrep之后运行:cw以获得易于解析的结果列表。我想输入:Ggr"defmy_function"而不是::Ggrep"defmy_function":cw如何在我的.vimrc文件中定义这个:Ggr命令?编辑定义:Ggr命令后,我可以映射到光标下的单词上的gitgrep,这真是太棒了:nnoremap:Ggr 最佳答案 这对我有用::command-nargs=+Ggrexecute'silentGgrep!'|cw|red

git - 让 'git grep' 在 vi​​m 中有效工作

Fugitive.vim允许我运行gitgrep命令;不幸的是,结果没有存储在快速修复列表中,所以我需要在:Ggrep之后运行:cw以获得易于解析的结果列表。我想输入:Ggr"defmy_function"而不是::Ggrep"defmy_function":cw如何在我的.vimrc文件中定义这个:Ggr命令?编辑定义:Ggr命令后,我可以映射到光标下的单词上的gitgrep,这真是太棒了:nnoremap:Ggr 最佳答案 这对我有用::command-nargs=+Ggrexecute'silentGgrep!'|cw|red

SLAM和里程计评估工具——evo使用方法全解

前言       本帖的主要内容是整理evo的使用方法及各种命令,不含安装步骤及过程,还未安装的请移步其他博主。       evo目前支持的公开数据集格式有:TUM、KITTI、EuRoC以及ROSbagfile。如果使用的数据集格式为这些中的某一种,那么无须额外的数据格式处理,就可以直接使用evo进行精度相关内容评估。一、evo_traj轨迹管理        可以打开任意多个轨迹,查看统计信息,并且可以统计当前文件中所对应的轨迹长度。evo_trajtumresults.txtgroundtruth.txt-v-p--full_check        [-v]:以详细模式显示;[--f

git - 为什么 git mergetool 在 vi​​mdiff 中打开 4 个窗口? (我希望 3)

当我遇到冲突时,我尝试使用git-mergetool来解决。我输入:>gitmergetool-tvimdiff它以4向而不是3向打开vimdiff。我在vimdiff中的拆分窗口如下所示::ls1#a"Gemfile.lock"line12%a"Gemfile.lock.LOCAL.4828.lock"line13a"Gemfile.lock.BASE.4828.lock"line04a"Gemfile.lock.REMOTE.4828.lock"line0它们是什么?我想要一个3向差异:目标文件、merge文件和工作文件。我应该如何配置我的git或vimdiff?

git - 为什么 git mergetool 在 vi​​mdiff 中打开 4 个窗口? (我希望 3)

当我遇到冲突时,我尝试使用git-mergetool来解决。我输入:>gitmergetool-tvimdiff它以4向而不是3向打开vimdiff。我在vimdiff中的拆分窗口如下所示::ls1#a"Gemfile.lock"line12%a"Gemfile.lock.LOCAL.4828.lock"line13a"Gemfile.lock.BASE.4828.lock"line04a"Gemfile.lock.REMOTE.4828.lock"line0它们是什么?我想要一个3向差异:目标文件、merge文件和工作文件。我应该如何配置我的git或vimdiff?

ORB-SLAM2的布置(一)Pangolin的安装

参考文件ORBSLAM2在github的官方流程https://github.com/raulmur/ORB_SLAM2然后就是安装Pangolin在ORBSLAM2中那些很炫酷的实时建图画面是通过Pangolin实现的。Pangolin是一个轻量级的开发库,控制OpenGL的显示、交互等。Pangolin的核心依赖是OpenGL和GLEW。  首先查看ORBSLAM2基础的依赖项目OpenCV3.2版本DBoW2和g2o,这两个库都在Thirdparty文件夹中,后边会随着ORBSLAM2一起编译,这里先不管它们ROSEigen3的3.2版本及以上Pangolin查看opencv的版本pkg

ORB-SLAM2的布置(一)Pangolin的安装

参考文件ORBSLAM2在github的官方流程https://github.com/raulmur/ORB_SLAM2然后就是安装Pangolin在ORBSLAM2中那些很炫酷的实时建图画面是通过Pangolin实现的。Pangolin是一个轻量级的开发库,控制OpenGL的显示、交互等。Pangolin的核心依赖是OpenGL和GLEW。  首先查看ORBSLAM2基础的依赖项目OpenCV3.2版本DBoW2和g2o,这两个库都在Thirdparty文件夹中,后边会随着ORBSLAM2一起编译,这里先不管它们ROSEigen3的3.2版本及以上Pangolin查看opencv的版本pkg