点云数据处理 环境安装 Python-PCL (windows + python 3.6)

1. 安装PCL

1.1 下载PCL(官方资源下载)

https://github.com/PointCloudLibrary/pcl/releases?spm=a2c6h.12873639.article-detail.7.2dcf537aK5hO1K

网盘里是我下载好的两个文件 :https://pan.baidu.com/s/1mC3Ub9BxKZK8ZEoLP4SVWg(提取码: fge7 )

 下载AllInOne和pdb

 1.2 安装PCL AllInOne

“下一步” 

“我接受”

 选择不添加PATH,等会手动添加(自动添加容易报错),“下一步”

选择安装目录,“下一步” 

1.3 安装OpenNI

进入PCL安装目录(XXX:\PCL 1.14.1\3rdParty\OpenNI2),如果只有OpenNI-Windows-x64-2.2.msi,则需要重新安装OpenNI。

打开msi文件,“Next”

“Remove”,“Next”,卸载OpenNI

 “Remove”

删除之后,重新打开msi文件,将OpenNI安装到XXX:\PCL 1.14.1\3rdParty\OpenNI2目录中。 

 1.4 修改环境变量

此电脑(右键)-属性-高级系统设置-高级-环境变量

 按照PCL的安装目录添加变量(此电脑安装在D盘,根据自己安装的位置添加PATH)

D:\PCL 1.14.1\bin

D:\PCL 1.14.1\3rdParty\VTK\bin

D:\PCL 1.14.1\3rdParty\Qhull\bin

D:\PCL 1.14.1\3rdParty\OpenNI2\Tools

D:\PCL 1.14.1\3rdParty\FLANN\bin

D:\PCL 1.14.1\3rdParty\OpenNI2\Include

D:\PCL 1.14.1\3rdParty\OpenNI2\Lib

D:\PCL 1.14.1\3rdParty\OpenNI2\Redist

 1.5 添加PCL的debug文件

解压下载的pcl的pdb.zip,将pdb文件复制到pcl 1.14.1\bin目录下

 2. 安装python上的PCL(因为Python-PCL比较老,所以python版本选择3.6,这里使用anaconda3的python)

2.1 安装anaconda3

此处教程可参考其他博主的安装教程

https://blog.csdn.net/m0_61010858/article/details/130578110

 2.2 创建虚拟环境(不需要考虑python版本冲突的可以省略)

可以在anaconda navigator的environment中创建虚拟环境

也可以在anaconda  prompt中进行创建(这里需要添加镜像源,升级conda等操作,可以参考博文:https://blog.51cto.com/u_16213679/10575454)

创建名为python-pcl-test的虚拟环境

conda create -n python_pcl_test python=3.6

查看创建的虚拟环境,出现python_pcl_test

conda env list

 激活虚拟环境

activate python_pcl_test                #激活环境

deactivate python_pcl_test            #退出环境

2.3 安装python-pcl

下载wheel文件(也可以选择自己编译,会比较麻烦。这里直接用别人编译好的whl文件) 

网盘链接: https://pan.baidu.com/s/1mC3Ub9BxKZK8ZEoLP4SVWg(提取码: fge7 )

 激活虚拟环境(如果没有,则忽略)

pip安装whl文件(自行更改whl的位置)

pip install D:\python_pcl\python_pcl-0.3.1-cp36-cp36m-win_amd64.whl

3. 测试

下载测试用pcd文件 bunny.pcd

 https://pan.baidu.com/s/1mC3Ub9BxKZK8ZEoLP4SVWg(提取码: fge7 )

测试代码

import pcl
import pcl.pcl_visualization


def main():
    # 读取 bunny.pcd
    cloud = pcl.load('bunny.pcd')
    # 创建可视化对象
    viewer = pcl.pcl_visualization.CloudViewing()
    # 显示点云PointXYZ格式
    viewer.ShowMonochromeCloud(cloud, b'cloud')

    flag = True
    while flag:
        flag = not (viewer.WasStopped())


if __name__ == "__main__":
    main()

结果

 4. 结束

文中的结果皆为本人实践操作结果,确认可行。然而,由于计算机环境不同,可能出现无法完全复现的情况,请自行查阅其他博主教程。本人参考了众多博文和官方教程,收益良多,在此表示感谢,欢迎各位批评指正。

作者:天上掉下一只狗

物联沃分享整理
物联沃-IOTWORD物联网 » 点云数据处理 环境安装 Python-PCL (windows + python 3.6)

发表回复