10:C++搭配PCL對點雲去中心化
阿新 • • 發佈:2021-06-29
-
計算點雲質心,並將其去中心化,即將點雲質心設為座標系原點
1 #pragma warning(disable:4996) 2 #include <pcl/registration/ia_ransac.h>//取樣一致性 3 #include <pcl/point_types.h> 4 #include <pcl/point_cloud.h> 5 #include <pcl/features/normal_3d.h> 6 #include <pcl/features/fpfh.h> 7 #include <pcl/search/kdtree.h> 8#include <pcl/io/pcd_io.h> 9 #include <pcl/filters/voxel_grid.h>// 10 #include <pcl/filters/filter.h>// 11 #include <pcl/registration/icp.h>//icp配準 12 #include <pcl/visualization/pcl_visualizer.h>//視覺化 13 #include <time.h>//時間 14 #include <math.h> 15 #include <vector> 16//4計算點雲質心 17 Eigen::Vector4f centroid; 18 pcl::compute3DCentroid(*cloud_src, centroid); 19 std::cout << "濾波前的質心" << centroid[0] << "," << centroid[1] << "," << centroid[2] << "," << endl; 20 21 //5去中心化 22 for (size_t i = 0; i < cloud_src->points.size(); ++i)23 { 24 cloud_src->points[i].x -= centroid[0]; 25 cloud_src->points[i].y -= centroid[1]; 26 cloud_src->points[i].z -= centroid[2]; 27 }