PCL --- common模块

common模块常用头文件

angles.h------------定义了标准的C接口的角度计算函数
centriod.h----------定义了中心点的估算以及协方差矩阵的计算
commo.h-----------标准的C以及C++类,是其他common 函数的父类
distance.h----------定义标准的C接口用于计算距离
file_io.h-------------定义了一些文件帮助写或者读方面的功能。
random.h-----------定义一些随机点云生成的函数
geometry.h---------定义一些基本的几何功能的函数
intersection.h------定义线与线相交的函数
norm.h---------------定义了标准的C方法计算矩阵的正则化
time.h----------------定义了时间计算的函数
Point_types.h------定义了所有PCL实现的点云的数据结构的类型
————————————————
版权声明:本文为CSDN博主「没事就要敲代码」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接

计算点云质心

	Eigen::Vector4f centroid;
	pcl::compute3DCentroid(*filter_Cloud, centroid); //估计质心的坐标

计算点云范围

	pcl::PointXYZ minP, maxP;
	pcl::getMinMax3D(*filter_Cloud, minP, maxP); //估计质心的坐标
void pcl::getMinMax3D 	( 	const pcl::PointCloud< PointT > &  	cloud,
		const std::vector< int > &  	indices,
		Eigen::Vector4f &  	min_pt,
		Eigen::Vector4f &  	max_pt	 
	) 	

弧度到角度

pcl::rad2deg(float alpha);

角度到弧度

pcl::deg2rad(float alpha);

正则化角度在(-PI,PI)之间

pcl::normAngle(float alpha);

计算两个向量之间的角度

pcl::getAngle3D (const Eigen::Vector4f &v1, const Eigen::Vector4f &v2, const bool in_degree=false);
// false 为弧度, true 为角度

在给定边界的情况下,获取位于边界内的点

pcl::getPointsInBox (const pcl::PointCloud< PointT > &cloud, Eigen::Vector4f &min_pt, Eigen::Vector4f &max_pt, std::vector< int > &indices)

获取给定点云数据中,点与点之间的最大距离的值

pcl::getMaxDistance (const pcl::PointCloud< PointT > &cloud, const Eigen::Vector4f &pivot_pt, Eigen::Vector4f &max_pt)

计算由三个点pa、pb和pc构成的三角形的外接圆半径

pcl::getCircumcircleRadius (const PointT &pa, const PointT &pb, const PointT &pc)

计算给定多边形点云的面积

pcl::calculatePolygonArea (const pcl::PointCloud< PointT > &polygon)

从Point_in把字段数据赋值到Point_out

pcl::copyPoint (const PointInT &point_in, PointOutT &point_out)

获取两条三维直线之间的最短三维线段,两直线之间的垂线

pcl::lineToLineSegment (const Eigen::VectorXf &line_a, const Eigen::VectorXf &line_b, Eigen::Vector4f &pt1_seg, Eigen::Vector4f &pt2_seg)

获取空间中两条三维直线作为三维点的交点。

pcl::lineWithLineIntersection (const Eigen::VectorXf &line_a, const Eigen::VectorXf &line_b, Eigen::Vector4f &point, double sqr_eps=1e-4)

获取点到线的平方距离(由点和方向表示)

pcl::sqrPointToLineDistance (const Eigen::Vector4f &pt, const Eigen::Vector4f &line_pt, const Eigen::Vector4f &line_dir)

获取给定的一组点中的最大分段,并返回最小和最大点。

pcl::getMaxSegment (const pcl::PointCloud< PointT > &cloud, PointT &pmin, PointT &pmax)
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值