{///'#include///' //n#include///' <pcl/io/ply_io.h>//n#include///' <pcl/point_types.h>//n#include///' <pcl/filters/voxel_grid.h>//n#include///' <pcl/ModelCoefficients.h>//n#include///' <pcl/filters/project_inliers.h>//n//nint main()//n{//n // 加载点云数据//n pcl::PointCloudpcl::PointXYZ::Ptr cloud(new pcl::PointCloudpcl::PointXYZ);//n pcl::io::loadPLYFilepcl::PointXYZ(///'input.ply///', *cloud);//n//n // 创建一个直线模型的系数对象//n pcl::ModelCoefficients::Ptr coefficients(new pcl::ModelCoefficients());//n coefficients->values.resize(6);//n coefficients->values[0] = 1.0; // 直线的方向向量//n coefficients->values[1] = 0.0;//n coefficients->values[2] = 0.0;//n coefficients->values[3] = 0.0; // 直线上的一点//n coefficients->values[4] = 0.0;//n coefficients->values[5] = 0.0;//n//n // 创建一个投影滤波器//n pcl::ProjectInlierspcl::PointXYZ proj;//n proj.setModelType(pcl::SACMODEL_LINE);//n proj.setInputCloud(cloud);//n proj.setModelCoefficients(coefficients);//n proj.filter(*cloud);//n//n // 计算每个点到直线的距离//n std::vector distances;//n for (const auto& point : cloud->points) {//n double distance = pcl::pointToLineDistance(point, *coefficients);//n distances.push_back(distance);//n }//n//n // 输出每个点到直线的距离//n for (int i = 0; i < distances.size(); ++i) {//n std::cout << ///'Point ///' << i << ///' distance to line: ///' << distances[i] << std::endl;//n }//n//n return 0;//n}//n/

PCL 1.8.1 点云到直线距离计算 C++ 代码示例

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

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