• 大小: 7KB
    文件类型: .cpp
    金币: 2
    下载: 7 次
    发布日期: 2021-01-04
  • 语言: C/C++
  • 标签: PC  点云  孔洞修补  

资源简介

C++语言,在PCL环境下的 三角形网格孔洞修复。主要针对曲面重建之后,模型出现了大量孔洞,需要修复。修复步骤很简单,就是基于最小角的剖分修复。

资源截图

代码片段和文件信息

#include 

pcl::PolygonMesh
hole(pcl::PolygonMesh cloud_tri)
{
std::vector B1;
Eigen::Vector2f V V1 V2;
int p[3];
p[0] = cloud_tri.polygons[0].vertices[0];
p[1] = cloud_tri.polygons[0].vertices[1];
p[2] = cloud_tri.polygons[0].vertices[2];
V << p[0] p[1];
B1.push_back(V);
V << p[0] p[2];
B1.push_back(V);
V << p[1] p[2];
B1.push_back(V);

for (int i = 1; i < cloud_tri.polygons.size(); i++)
{
p[0] = cloud_tri.polygons[i].vertices[0];
p[1] = cloud_tri.polygons[i].vertices[1];
p[2] = cloud_tri.polygons[i].vertices[2];
int flag = 0;
V1 << p[0] p[1]; V2 << p[1] p[0];
for (std::vector::iterator it = B1.begin(); it != B1.end(); ++it)
{
if ((*it == V1) || (*it == V2))
{
B1.erase(it);

评论

共有 条评论