c++中点云体积测量

pcl中点云体积测量,代码如下:


#include <iostream>
#include <vtkPLYReader.h>
#include <vtkTriangleFilter.h>
#include <vtkSmartPointer.h>
#include <vtkMassProperties.h>

using namespace std;


int main(int argc, char** argv)
{   
    string inputFilename = "E:/PointCloud/data/blade.ply";


    //vtkSmartPointer<vtkPLYWriter> writer = vtkSmartPointer<vtkPLYWriter>::New();

    vtkSmartPointer<vtkPLYReader> reader = vtkSmartPointer<vtkPLYReader>::New();
    reader->SetFileName(inputFilename.c_str());
    reader->Update();

    vtkSmartPointer<vtkTriangleFilter> tri = vtkSmartPointer<vtkTriangleFilter>::New();
    tri->SetInputData(reader->GetOutput());
    tri->Update();
    vtkSmartPointer<vtkMassProperties> poly = vtkSmartPointer<vtkMassProperties>::New();
    poly->SetInputData(tri->GetOutput());
    poly->Update();

    double vol = poly->GetVolume();
    double area = poly->GetSurfaceArea();

    cout << "体积为:" << vol << endl;
    cout << "表面积为:" << area << endl;

    system("pause");

    return (0);
}

结果如下


运行结果
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容