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

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

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

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

    三维模型文件以及obj、ply格式文件生成pcd点云文件_第1张图片

  3. 在solidworks中以网格文件的形式打开刚才的stl文件
    三维模型文件以及obj、ply格式文件生成pcd点云文件_第2张图片
  4. 再将文件保存为obj格式

 二、利用PCL的IO库

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

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

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

三、利用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,出现以下界面;

三维模型文件以及obj、ply格式文件生成pcd点云文件_第3张图片

 

3.设置相关参数

三维模型文件以及obj、ply格式文件生成pcd点云文件_第4张图片

 

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

4.点击确定,生成点云

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

你可能感兴趣的:(三维计算机图形学,个人开发)