C++11 代码
F-study
这个作者很懒,什么都没留下…
展开
-
对极约束求解相机运动
该代码源于《视觉SLAM十四讲》pose_estimation_2d2d.cpp 问题描述 如何使用2D-2D的特征匹配估计相机运动 思路 1.从两张图中抽取关键点的匹配对 2.根据匹配对信息求 基础矩阵 本质矩阵 单对应矩阵 进而得到R和t 3.验证对极约束 是否等于0编译注意 编译成功后 在可执行文件的路径(存图片)下执行./pose_estimation_2d2d 1...原创 2018-08-10 09:40:06 · 1472 阅读 · 1 评论 -
华为机试(9)提取不重复的整数
#include<iostream>#include<string>using namespace std;int main(){ string str; //int a[10] = {0}; while(getline(cin, str)) { int a[10] = {0}; for(int ...原创 2018-09-07 14:58:56 · 213 阅读 · 1 评论 -
特征提取和匹配
该代码源于《视觉SLAM十四讲》feature_extraction.cpp 问题描述 从图片中标注出特征点,从两张图中标注匹配点对和优化后的匹配点对 思路 1.读取图片 2.计算关键点 3.根据角点计算描述子 4.显示 编译注意 编译成功后 在可执行文件的路径(存图片)下执行./feature_extraction 1.png 2.png实现代码#include &lt;...原创 2018-08-08 16:34:16 · 951 阅读 · 0 评论 -
用Ceres解决最小二乘问题
该代码源于《视觉SLAM十四讲》 ceres_curve_fitting/main.cppCeres库用于通用的最小二乘问题求解;我们需要做的就是定义优化问题,设置选项,输入近Ceres求解即可。该页代码用于日后查找方便 (添加了部分笔记)、 问题描述 该代码主要是求解曲线 y= exp(a*x*x + b*x +c) + w;(w是噪声) 假设有N个x和y的观测数据点,用来求解曲线的...原创 2018-08-03 11:27:33 · 2126 阅读 · 0 评论 -
5张彩色图+5张深度图+PCL= 点云拼接
该代码源于《视觉SLAM十四讲》 joinMap.cpp 主要是用已知的图片(5张彩色+5张深度图)+ pose.txt(相机位姿-> 前三位是xyz轴方向上的平移量,后四位是旋转四元数实部+虚部; 用以上数据得到点云 思路: 先用位姿数据计算得出旋转矩阵T 而后根据图片的像素坐标以及相机内参计算得出实物的相机坐标;最后将相机坐标转换为世界坐标 操作注意事项: 1. 先在build...原创 2018-08-03 09:57:57 · 2469 阅读 · 6 评论 -
使用g2o拟合曲线
该代码源于《视觉SLAM十四讲》g2o_curve_fitting/main.cpp 问题描述 已知一个6自由度的3DSLAM建模方法: 【图片】 节点为优化变量,边为误差项g2o 是对上述问题的求解器。可用来解决SLAM、ICP和Pnp等用图来表达的优化问题。 下载网址:https://github.com/RainerKuemmerle/g2o 安装前需安装的库依赖:sudo ...原创 2018-08-07 15:36:54 · 706 阅读 · 0 评论 -
5张RGB/深度图实现点云拼接
该代码源于《视觉SLAM十四讲》 joinMap.cpp (拼接点云)主要操作有 该页代码用于日后查找方便 (添加了部分笔记)执行时 先进入build文件夹对源码进行编译 编译出的可执行文件可拷贝到pose.txt 文件路径下(该路径下还有存放图片的文件夹) 而后执行./joinMap 生成点云以PCD格式存储在map.pcd中 用PCL提供的可视化程序大概该文件pcl_v...原创 2018-08-02 20:57:34 · 6326 阅读 · 5 评论 -
借助opencv对图片的操作
该代码源于《视觉SLAM十四讲》 imagebasic.cpp (几何模块) 主要是熟悉对图片读取、显示、按像素遍历、复制等操作 该页代码用于日后查找方便 (添加了部分笔记)#include <iostream>#include <chrono>using namespace std;#include <opencv2/core/core.hpp>...原创 2018-08-02 16:25:23 · 317 阅读 · 0 评论 -
Eigen so3 and se3
该代码源于《视觉SLAM十四讲》 Eigen 中Geometry (几何模块) 主要操作有 so3 se3 旋转向量和旋转矩阵转换 以及 增量扰动模型更新 该页代码用于日后查找方便 (添加了部分笔记)#include <iostream>#include <cmath>using namespace std; #include <Eigen/Core&...原创 2018-08-02 15:07:06 · 2970 阅读 · 0 评论 -
Eigen 中Geometry (几何模块)
该代码源于《视觉SLAM十四讲》 Eigen 中Geometry (几何模块) 主要操作有旋转向量和旋转矩阵之间的转换;欧拉角(旋转矩阵变欧拉角);欧式变换(旋转+平移);四元数 该页代码用于日后查找方便 (添加了部分笔记)#include &lt;iostream&gt;#include &lt;cmath&gt;using namespace std;#include &lt...原创 2018-08-02 11:39:44 · 3683 阅读 · 1 评论 -
Eigen 库 常用函数总结
该代码来源于《视觉SLAM十四讲》 Eigen初步学习部分,主要用于方便查看#include &lt;iostream&gt;using namespace std;#include &lt;ctime&gt;// Eigen 部分#include &lt;Eigen/Core&gt;// 稠密矩阵的代数运算(逆,特征值等)#include &lt;Eigen/Dense&原创 2018-08-02 10:16:01 · 4876 阅读 · 2 评论 -
华为机试(10)统计字符个数
数组解决;#include<iostream>using namespace std;int main(){ int arr[128] = {0}; int cnt = 0; char ch; while(cin>> ch) { if (ch >= 0 && ch <= 127...原创 2018-09-07 15:11:12 · 182 阅读 · 0 评论