python-pcl踩坑后记录完整配置过程



前言

在学习计算机视觉时,学到点云库,需要用到可视化点云工具,在配置python-pcl过程中踩了“ImportError: DLL load failed: 找不到指定的模块”等多个坑,这里整理一个配置流程,希望可以帮助你避坑。 文章python使用版本是3.6版本。


一、下载需要的安装包

1.python-pcl源码:https://github.com/strawlab/python-pcl
2.PCL1.9.1的All-In-One Installer :https://github.com/PointCloudLibrary/pcl/releases/
3.Windows Gtk:http://www.tarnyko.net/dl/gtk.htm

二、安装

1.安装与调整包

1.双击下载好的ALL-In-One Installer进行安装,安装过程会弹出安装OpenNI这个工具,一样安装就行。
2.解压下载好的windows Gtk,将bin目录下所有文件复制到python-pcl源码目录下的pkg-config目录下,同时,在pkg-config目录下,找到脚本InstallWindowsGTKPlus.bat,双击运行,该脚本会下载必须的内容,下载完成后会多出这两个文件夹。在这里插入图片描述

2.安装必要的python库

1.cython
2.numpy
python-pcl安装前要求要有cython和numpy这两个库,版本需要跟下载的python-pcl源码相对应,打开python-pc源码目录下的setup.py 可以看到对cython和numpy的版本要求:
在这里插入图片描述
在cmd中pip install 下载对应版本就行
我是用的最新版本numpy跟0.26.0的cython
安装指定版本命令为: pip install cython==0.26.0

可能会出现Microsoft Visual C++ xxx is required导致下载失败,这是因为需要下载visual studio 2019,点击cmd提示的连接进行下载即可,下载后就能正常下载cython。

3.安装python的pcl源码包

在python-pcl源码目录下打开cmd
前后输入:
python setup.py build_ext -i
python setup.py install

4.复制OpenNI2.dll

打开步骤1安装OpenNI2时的路径,在…\OpenNI2\Samples\Bin下找到OpenNI2.dll,将它复制到你的python lib\site-packages\ 下的pcl中在这里插入图片描述在这里插入图片描述

5.配置环境变量

要保证系统变量有以下路径:
在这里插入图片描述
然后编辑Path变量,在path中相对你的安装路径加入以下内容:
在这里插入图片描述

6.安装python的pcl库

pip install pclpy

至此,pcl配置完毕。


三、测试

最后import pcl 不再报错
在这里插入图片描述
测试代码:

import numpy as np import pcl p = pcl.PointCloud(10) a = np.asarray(p) a[:] = 0 print(p[3]) a[:, 0] = 1 print(p[3]) 

以上就是所有内容,本文仅仅介绍了能够顺利配置python-pcl的过程,有了点云处理工具,将支持我们学习三维模型。

补充:
1.运行显示模型时,可能会弹出如下错误:

//报错信息 Generic Warning: In c:\vtk-8.1.2\rendering\core\vtkrenderwindow.cxx, line 1480 vtkRenderWindow::GetPainterDeviceAdapter was deprecated for VTK 8.1 and will be removed in a future version. Generic Warning: In c:\vtk-8.1.2\rendering\core\vtkmapper.cxx, line 233 vtkMapper::GetGlobalImmediateModeRendering was deprecated for VTK 8.1 and will be removed in a future version. Generic Warning: In c:\vtk-8.1.2\rendering\core\vtkrenderwindow.cxx, line 1480 vtkRenderWindow::GetPainterDeviceAdapter was deprecated for VTK 8.1 and will be removed in a future version. 

解决方法:下载以下链接中的压缩包,解压后将pcl_visualization_release.dll放在路径“D:\Program Files\PCL 1.9.1\bin”下替换即可。
https://github.com/anelsalas/PCL_1_9_1_prebuild_pcl_visualization_release.dll
2.运行后窗口点云出不来:
在这里插入图片描述
按键盘R即能显示图像:
在这里插入图片描述


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM