news 2026/7/9 1:47:12

PCL 无序点云的快速三角剖分

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PCL 无序点云的快速三角剖分

这个程序可以把3D点云里的点组合成很多三角形,然后把这些三角形拼接生成连续表面。

先看看输入的3D点云:

程序运行后会显示生成的连续表面:

输入:bun0.pcd

输出:没有保存输出结果

运行:编译后直接双击即可运行

代码:

#include <pcl/point_types.h> #include <pcl/io/pcd_io.h> #include <pcl/search/kdtree.h> // for KdTree #include <pcl/features/normal_3d.h> #include <pcl/surface/gp3.h> int main () { // Load input file into a PointCloud<T> with an appropriate type pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>); pcl::PCLPointCloud2 cloud_blob; pcl::io::loadPCDFile ("bun0.pcd", cloud_blob); pcl::fromPCLPointCloud2 (cloud_blob, *cloud); //* the data should be available in cloud // Normal estimation* pcl::NormalEstimation<pcl::PointXYZ, pcl::Normal> n; pcl::PointCloud<pcl::Normal>::Ptr normals (new pcl::PointCloud<pcl::Normal>); pcl::search::KdTree<pcl::PointXYZ>::Ptr tree (new pcl::search::KdTree<pcl::PointXYZ>); tree->setInputCloud (cloud); n.setInputCloud (cloud); n.setSearchMethod (tree); n.setKSearch (20); n.compute (*normals); //* normals should not contain the point normals + surface curvatures // Concatenate the XYZ and normal fields* pcl::PointCloud<pcl::PointNormal>::Ptr cloud_with_normals (new pcl::PointCloud<pcl::PointNormal>); pcl::concatenateFields (*cloud, *normals, *cloud_with_normals); //* cloud_with_normals = cloud + normals // Create search tree* pcl::search::KdTree<pcl::PointNormal>::Ptr tree2 (new pcl::search::KdTree<pcl::PointNormal>); tree2->setInputCloud (cloud_with_normals); // Initialize objects pcl::GreedyProjectionTriangulation<pcl::PointNormal> gp3; pcl::PolygonMesh triangles; // Set the maximum distance between connected points (maximum edge length) gp3.setSearchRadius (0.025); // Set typical values for the parameters gp3.setMu (2.5); gp3.setMaximumNearestNeighbors (100); gp3.setMaximumSurfaceAngle(M_PI/4); // 45 degrees gp3.setMinimumAngle(M_PI/18); // 10 degrees gp3.setMaximumAngle(2*M_PI/3); // 120 degrees gp3.setNormalConsistency(false); // Get result gp3.setInputCloud (cloud_with_normals); gp3.setSearchMethod (tree2); gp3.reconstruct (triangles); // Additional vertex information std::vector<int> parts = gp3.getPartIDs(); std::vector<int> states = gp3.getPointStates(); // Finish return (0); }

参考:Fast triangulation of unordered point clouds — Point Cloud Library 0.0 documentation

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/9 1:44:20

护照多功能证件阅读机在酒店行业的应用

护照多功能证件阅读机在酒店行业的应用&#xff0c;主要围绕提升外籍宾客入住效率、满足公安合规要求及优化住客服务体验展开&#xff0c;已成为酒店智能化管理的关键设备-5-12。核心应用场景 前台快速入住登记&#xff1a;前台人员将旅客护照放置在阅读器上&#xff0c;设备在…

作者头像 李华
网站建设 2026/7/9 1:42:24

VSP One:走向统一的数据基础设施

作者&#xff1a;王聪彬 当企业的数据开始跨越本地数据中心、云与边缘时&#xff0c;一个长期被忽视的问题开始放大&#xff1a;存储体系本身是割裂的。块、文件、对象各自演进&#xff0c;部署架构分散在不同环境&#xff0c;管理逻辑也彼此独立&#xff0c;最终形成一个能用但…

作者头像 李华
网站建设 2026/7/9 1:41:23

九大 AI 毕业论文写作工具横向测评,高效攻克毕业撰文各类难题

一、开篇&#xff1a;毕业写作刚需爆发&#xff0c;九大 AI 论文工具全面盘点 每年毕业季&#xff0c;本科、硕博学生都会深陷毕业论文多重难题&#xff1a;选题无创新思路、文献搜集整理耗时长、论文框架逻辑混乱、理工科图表公式排版麻烦、查重重复率居高不下、院校格式调整…

作者头像 李华
网站建设 2026/7/9 1:40:48

导师都惊呆了!8个AI写作辅助软件,从选题到润色全包了!

在2026年这个节点&#xff0c;教育部严抓学术规范&#xff0c;自动降AIGC率&#xff0c;知网查重率成了每位硕博生、高校教师的卡点。 其实&#xff0c;AI论文写作早就不再是简单的文字堆砌&#xff0c;它已进化到能帮你深度分析数据、对标学术范式的地步。如果你还在为AI写毕业…

作者头像 李华