PCL 旋转平移矩阵左乘每个点

pcl自带的每个点乘以矩阵是右乘,

pcl::transformPointCloud(*source_cloud, *target_cloud, transform):

这里实现左乘

	pcl::PointCloud<pcl::PointXYZRGB>  xxx;
	xxx.width = cloud_source->points.size();
	xxx.height = 1;
	xxx.is_dense = false;
	xxx.points.resize(xxx.width * xxx.height);
	/*xxx.points.size() = cloud_source->points.size();*/
	for (int i = 0; i < cloud_source->points.size(); i++)
	{
		Eigen::Matrix4f cloud111,cloud222;

		cloud111 << 1, 0, 0, cloud_source->points[i].x,
					0, 1, 0, cloud_source->points[i].y,
					0, 0, 1, cloud_source->points[i].z,
					0, 0, 0, 1;

		cloud222 = b2t * tras*cloud111;

		xxx.points[i].x = cloud222(0,3);
		xxx.points[i].y = cloud222(1,3);
		xxx.points[i].z = cloud222(2,3);
		//cout << i << endl;
	}

	//pcl::PointCloud<pcl::PointXYZRGB>::Ptr transformed_cloud(new pcl::PointCloud<pcl::PointXYZRGB>);
	transformed_cloud = xxx.makeShared();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
PCL云处理库是一个功能强大的云处理工具,支持旋转平移等操作,并提供了多种粗配准算法,如PFH、FPFH、ICP、NDT和3DSC等。这些算法最终目的是将两个不同位置的云进行匹配,实现云3D重建等应用。 旋转平移云位置可以使用PCL提供的Transformations模块实现。其中,旋转矩阵可以通过Eigen::Quaterniond或Eigen::AngleAxisd实现,平移矩阵可以使用Eigen::Affine3f实现,从而实现云的旋转平移。使用这些方法完成旋转平移后,可以进行下面几种粗配准算法: 1. PFH(Point Feature Histograms)算法 PFH算法通过计算云中每个的特征直方图并对其进行匹配来计算两个云之间的相似性。这种算法在处理具有复杂形状或不规则边界的云时表现良好。 2. FPFH(Fast Point Feature Histograms)算法 FPFH算法是PFH算法的优化,能够提高匹配速度和准确性,同时还支持噪声过滤和配准的完全自动化。 3. ICP(Point-to-Point Iterative Closest Point)算法 ICP算法是使用最广泛的粗配准算法之一,它尝试通过迭代比对云中每个的最近邻来计算两个云之间的转换。ICP算法对初始位置的精度要求较高。 4. NDT(Normal Distributions Transform)算法 NDT算法基于高斯分布模型,通过优化高斯分布参数来计算两个云之间的转换。NDT算法对初始位置的要求较低,适用于处理含噪声或不规则分布的云。 5. 3DSC(3D Shape Context)算法 3DSC算法通过计算云中每个周围几何结构的一种描述符并进行匹配来计算两个云之间的相似性。3DSC算法对于具有明显几何结构的云具有很好的效果。 总之,PCL云处理库提供了多种粗配准方法,可以根据不同场景和需求选择合适的方法来完成云的匹配和重建。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜是菜人是真帅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值