pcl::compute3DCentroid()计算质心算法原理

更新时间:2023-07-28 12:43:49 阅读: 评论:0

pcl ::compute3DCentroid ()计算质⼼算法原理
质⼼计算公式
质⼼指的是质量的中⼼,认为是物体质量集中于此点的假想点。
通常物体质⼼坐标计算公式如下:
其中,为各质点的坐标,为质点对应的质量。PCL 函数原理
康德判断力批判计算点云质⼼时,令上述公式中的 即可,则点云质⼼坐标计算公式如下:坟籍
PLC提供了现有的函数可供调⽤:
Eigen ::Vector4f centroid ;  //质⼼
pcl ::compute3DCentroid (*cloud_smoothed ,centroid ); // 计算质⼼
该函数的原理即是使⽤上述公式计算点云质⼼坐标,接下来通过代码进⾏验证。代码
尺壁寸阴P c P =c m r M 1i =0∑n奥特曼儿童画
祖父的园子读后感
i i
r =i (x ,y ,z ),i =i i i 1,2,...,n m i m =i 1P =c (x ,y ,z )n 1i =0∑n i i =0∑n i i =0∑n
i
#include<iostream>
#include<string>
#include<Eigen/Core>
#include<pcl/io/ply_io.h>
#include<pcl/point_types.h>
#include<pcl/common/transforms.h>
using namespace std;
typedef pcl::PointXYZ PointT;
中国简笔画int main(int argc,char**argv)
{
// 导⼊点云
pcl::PointCloud<PointT>::Ptr cloud(new pcl::PointCloud<PointT>);
if(pcl::io::loadPLYFile("bunny.ply",*cloud)==-1){// 读取.ply⽂件
cerr <<"can't read file bunny.ply"<< endl;
return-1;
}
// PCL函数计算质⼼
Eigen::Vector4f centroid;// 质⼼
pcl::compute3DCentroid(*cloud, centroid);// 齐次坐标,(c0,c1,c2,1)
/
/ 按公式计算质⼼
PointT p_c;
p_c.x =0; p_c.y =0; p_c.z =0;
for(auto p : cloud->points){
p_c.x += p.x;
p_c.y += p.y;
p_c.z += p.z;
}
风流小山村p_c.x /= cloud->points.size();
p_c.y /= cloud->points.size();
p_c.z /= cloud->points.size();
/
/ 结果对⽐
cout <<"pcl::compute3DCentroid(*cloud, centroid)计算点云质⼼结果:"<< endl
<<"\t"<<centroid(0)<<"\t"<<centroid(1)<<"\t"<<centroid(2)<<"\t"<<centroid(3)<< endl;
cout <<"按照公式计算点云质⼼结果:"<< endl
<<"\t"<< p_c.x <<"\t"<< p_c.y <<"\t"<< p_c.z << endl;
getchar();
return0;
}
结果
备注
讽刺的话
点云⽂件可从博客:中提供的链接下载。

本文发布于:2023-07-28 12:43:49,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1121638.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:计算   云质   坐标   函数   质量   物体
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图