{///'title///': ///'PCL 1.8.1 点云配准:使用 ICP 算法进行粗配准///', ///'description///': ///'本文介绍了如何在 PCL 1.8.1 中使用 ICP 算法进行点云粗配准,并提供了示例代码。///', ///'keywords///': ///'PCL, 点云配准, ICP, 粗配准, PCL 1.8.1///', ///'content///': ///'#include <vtkAutoInit.h>//nVTK_MODULE_INIT(vtkRenderingOpenGL);//nVTK_MODULE_INIT(vtkInteractionStyle);//n#define BOOST_TYPEOF_EMULATION//n#include //n#include <pcl/io/pcd_io.h>//n#include <pcl/point_types.h>//n#include <pcl/registration/icp.h>//n#include <pcl/filters/voxel_grid.h>//n#include <pcl/visualization/pcl_visualizer.h>//n//nint main(int argc, char** argv)//n{//n//tpcl::PointCloudpcl::PointXYZ::Ptr cloud_in(new pcl::PointCloudpcl::PointXYZ);//n//tpcl::PointCloudpcl::PointXYZ::Ptr cloud_out(new pcl::PointCloudpcl::PointXYZ);//n//n//tpcl::io::loadPCDFilepcl::PointXYZ(///'D:////点云文件////雕像1.pcd///', *cloud_in);//n//tpcl::io::loadPCDFilepcl::PointXYZ(///'D:////点云文件////雕像2.pcd///', *cloud_out);//n//n//tpcl::VoxelGridpcl::PointXYZ voxel_grid;//n//tvoxel_grid.setInputCloud(cloud_in);//n//tvoxel_grid.setLeafSize(0.01f, 0.01f, 0.01f);//n//tpcl::PointCloudpcl::PointXYZ::Ptr cloud_in_downsampled(new pcl::PointCloudpcl::PointXYZ);//n//tvoxel_grid.filter(*cloud_in_downsampled);//n//n//tvoxel_grid.setInputCloud(cloud_out);//n//tpcl::PointCloudpcl::PointXYZ::Ptr cloud_out_downsampled(new pcl::PointCloudpcl::PointXYZ);//n//tvoxel_grid.filter(*cloud_out_downsampled);//n//n//tEigen::Matrix4f init_transform = Eigen::Matrix4f::Identity();//n//tinit_transform(0, 3) = 0.1;//n//n//tpcl::IterativeClosestPoint<pcl::PointXYZ, pcl::PointXYZ> icp;//n//ticp.setInputSource(cloud_in_downsampled);//n//ticp.setInputTarget(cloud_out_downsampled);//n//ticp.setMaxCorrespondenceDistance(0.5); // Increase the maximum correspondence distance//n//ticp.setTransformationEpsilon(1e-8);//n//ticp.setMaximumIterations(100);//n//ticp.align(*cloud_in_downsampled, init_transform);//n//n//tstd::cout << ///'has converged: ///' << icp.hasConverged() << ///' score: ///' << icp.getFitnessScore() << std::endl;//n//tstd::cout << icp.getFinalTransformation() << std::endl;//n//n//tpcl::visualization::PCLVisualizer viewer(///'ICP Registration///');//n//tviewer.addPointCloud(cloud_in_downsampled, pcl::visualization::PointCloudColorHandlerCustompcl::PointXYZ(cloud_in_downsampled, 255, 0, 0), ///'cloud_in///');//n//tviewer.addPointCloud(cloud_out_downsampled, pcl::visualization::PointCloudColorHandlerCustompcl::PointXYZ(cloud_out_downsampled, 0, 255, 0), ///'cloud_out///');//n//tviewer.addPointCloudpcl::PointXYZ(cloud_in, pcl::visualization::PointCloudColorHandlerCustompcl::PointXYZ(cloud_in, 255, 0, 0), ///'cloud_in_original///');//n//tviewer.addPointCloudpcl::PointXYZ(cloud_in_downsampled, pcl::visualization::PointCloudColorHandlerCustompcl::PointXYZ(cloud_in_downsampled, 0, 0, 255), ///'cloud_aligned///');//n//tviewer.spin();//n//n//tpcl::io::savePCDFile(///'D:////DIANYUNWENJIANJIA////icp_pcd.pcd///', *cloud_in_downsampled);//n//n//treturn 0;//n}//n///

PCL 1.8.1 点云配准:使用 ICP 算法进行粗配准

原文地址: https://www.cveoy.top/t/topic/pvyL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录