提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
最近要用shapenetcorev2做点云重建学习,要自己处理数据集,查了很多都没有用pcl将obj转点云的具体方法,就想写一个新手一定能看得懂的教程
一、步骤
1.下载shapenetcorev2数据集
链接: shapenet.org
2.安装pcl和配置vs环境
这里我不想多说了,这篇文章写的非常详细了
链接: windows系统下PCL的安装与配置
这里有一点要注意啊,强调一下,新手就是什么坑都能往里面跳,在配置那个附加依赖项的时候,可以复制也可以写脚本扒,我建议复制,但是但是!! 看好对应版本的pcl再复制!版本不同依赖项的文件名也是不同的!
3.转换
然后把pclxxx/bin/pcl_mesh_sampling.exe拿出来(其实拿不拿都无所谓)
cmd里面写
目录/pcl_mesh_sampling.exe xxx.obj(要转换的obj文件) xxx.pcd(转换成的pcd点云)
就可以转换了
但是有的时候,我们想整个数据集所有的obj全部转换了,那就直接写个python
import os
path=os.path.join(写自己的目录)
list=sorted(os.listdir(os.path.join(用来读取物体类别编号的)))
for fn in list: #按照物体种类挨个转换(shapenet数据集就这个结构)
list2=sorted(os.listdir(os.path.join(取出该物体下所有模型的名称(编号))))
for name in list2:
param = f"{r'目录/pcl_mesh_sampling.exe'} {r'目录/{0}/{1}/models/model_normalized.obj'.format(fn,name)} {r'目录/{0}/{1}.pcd'.format(fn,name)} {r'-no_vis_result'}"
os.system(param)
直接开个jupyter notebook运行一下就行了
二、示例
如果想可视化的话,这个自己找代码吧,因为这个要改挺多东西的,我这里确实不好统一写,很容易生成不了来找我
我这里有一个可以对同一目录下叫model.pcd的点云进行可视化的exe
链接: https://github.com/dreamcubeblock/pclvisualizer