• 三维模型文件以及obj、ply格式文件生成pcd点云文件


    方法一、三维模型文件生成obj文件

    要想生成点云文件,要先将三维模型文件保存为obj文件格式,步骤如下:

    1. 通过SolidWorks将模型保存为stl文件格式
    2. 打开SolidWorks的插件选择,在ScanTo3D前面打勾

    3. 在solidworks中以网格文件的形式打开刚才的stl文件
    4. 再将文件保存为obj格式

     二、利用PCL的IO库

    直接采用PCL中IO库的命令loadOBJFile、loadPLYFile打开obj、ply文件

    1. pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
    2. if (-1 == pcl::io::loadOBJFile("E:\\Doc_PCL\\Model.obj", *cloud))
    3. {
    4. cout << "error input!" << endl;
    5. return -1;
    6. }

    该方法生成的点云一般为模型的网格的顶点,如果模型较为简单,生成的点云数量较少,特别是遇到简单的模型,几乎没有点生成。效果如下:

    三、利用pcl exe生成

    打开PCL的安装目录下的bin文件,找到pcl_mesh_sampling_release.exe或是pcl_mesh_sampling_debug.exe文件,选择一个将其拷贝至E盘(可自行选择,也可不拷贝直接运行)

    win+R打开运行窗口,运行cmd,先输入E:(刚才拷贝的地址),然后输入下列命令:

    1

    pcl_mesh_sampling_debug.exe model.obj model.pcd in out -n_samples 36000

    其中,model.obj也可为ply文件格式;36000为点云数量。

    注:为方便起见,这里将pcl_mesh_sampling_debug.exe和model.obj文件都放在E盘目录下,生成的pcd文件也位于该盘,若在其他文件夹中,需添加相应路径。

    具体操作流程:
    1.打开cmd,并且cd到pcl_mesh_samplingd.exe文件所在的目录下。
    2.输入pcl_mesh_samplingd.exe XXX.obj AAA.pcd。其中XXX是待转化的obj文件所在的路径及其名称,例如D:\aaa\file.obj。AAA则是转化成的pcd文件存储的路径,这个可以自己选择。

    四、CloudCompare软件
    1.在CloudCompare软件中导入面片模型,选中;

    2.选择Edit-Mesh-Sample Points,出现以下界面;

     

    3.设置相关参数

     

    Point Number——采样点的个数;
    Density——生成点云的密度;
    Generate normals——生成法向量信息;

    4.点击确定,生成点云

    5.选中生成的点云,点击File-Save即可保存为自己需要的点云格式。
     

  • 相关阅读:
    Appium+python+unittest搭建UI自动化框架
    什么是周转时间?
    指针数组和数组指针的区别及基本用法
    windows下安装redis扩展库
    arduino压力传感器
    使用 FasterTransformer 和 Triton 推理服务器加速大型 Transformer 模型的推理
    【C++STL基础入门】list改、查操作
    Spring整合Mybatis
    如何实现办公自动化?
    LeetCode·每日一题·655.输出二叉树·DFS
  • 原文地址:https://blog.csdn.net/cangqiongxiaoye/article/details/127935220