- 博客(9)
- 收藏
- 关注
原创 sophus库 so3三维向量在不适用sophus库情况下转换到旋转矩阵
实际上就是使用罗德里格斯公式进行转换: 代码如下 Eigen::Matrix3d calR(const Eigen::Matrix<double,6,1>& update) { //cos(the)*I + (1-cos(the))*ano*anot+sin(the)*anohat //omega = the * ano Eigen::Vector3d ...
2019-07-30 15:30:15
1112
原创 sophus库 根据se3的exp函数求解平移向量
在优化过程中,求解出来的se3小量前三列并不是平移向量,因此需要转换一下: se3.cpp源码: SE3 SE3::exp(const Vector6d & update) { Vector3d upsilon = update.head<3>(); Vector3d omega = update.tail<3>(); double theta; ...
2019-07-26 10:36:02
2475
原创 使用PCL提取平面的方式
本文主要总结了几种提取平面的方式,算法的原理就不细说了. 1.RANSAC 循环提取平面,直到小于20个点. void groundRemoval(pcl::PointCloud<pcl::PointXYZ>::Ptr in,int& pl_num) { pcl::PointCloud<pcl::PointXYZ>::Ptr in_totle(new pc...
2019-07-11 14:54:54
9585
3
原创 PCL体素滤波
头文件: #include <pcl/filters/voxel_grid.h> 函数示例: void pclDownsize(pcl::PointCloud<pcl::PointXYZ>::Ptr in, pcl::PointCloud<pcl::PointXYZ>::Ptr out) { pcl::VoxelGrid<pcl::PointXYZ...
2019-07-11 14:39:30
2405
原创 PCL去除nan点
在处理点云的时候,需要将nan点先删除掉: pcl::removeNaNFromPointCloud(laserCloudIn, laserCloudIn, indices);函数有三个参数,分别为输入点云,输出点云及对应保留的索引。 代码示例如下: void removeNan(pcl::PointCloud<pcl::PointXYZ>::Ptr in, pcl::PointClo...
2019-07-11 14:37:01
7381
5
转载 OPENCV矩阵类操作
矩阵操作1 转载自:http://www.xuebuyuan.com/2148247.html //例子1:创建100*90的矩阵,矩阵元素为3通道32位浮点型 cv::Mat M(100, 90, CV_32FC3); //例子2:使用一维或多维数组来初始化矩阵, double m[3][3] = {{a, b, c}, {d, e, f}, {g, h, i}}; cv::Mat M = cv...
2019-07-11 14:30:51
556
转载 sophus库的一些使用
转载自https://blog.youkuaiyun.com/robinhjwy/article/details/77334189 首先是cmakelists: cmake_minimum_required( VERSION 2.8 ) project( useSophus ) 为使用 sophus,您需要使用find_package命令找到它 find_package( Sophus REQUIRED )...
2019-07-11 14:12:51
2085
原创 N阶贝塞尔曲线的阶乘计算方式
N阶贝塞尔曲线的阶乘计算方式 本来主要是将matlab的N阶贝赛尔曲线的阶乘计算方式,以c++ &opencv方式实现. 代码如下: 1.matlab实现 /matlab code: n=length(x); t=linspace(0,1); xx=0 yy=0 for k=0:n-1 tmp=nchoosek(n-1,k)t.k.*(1-t).(n-1-k); xx=xx+tmpx(k+...
2019-07-11 14:03:39
1149
原创 利用三阶贝塞尔对曲线进行插值操作
利用三阶贝塞尔对曲线进行插值操作 1.数学公式: 2.代码 void lanelocalization::ComputeBezierPoints(cv::Mat &matMapInput,cv::Mat &matQ) { int matTnum = 6; int matInputNum = matMapInput.rows; cv::Mat matQx; ...
2019-07-11 13:55:53
2566
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅