admin管理员组文章数量:1794759
点云处理工具——python
python-pcl详细安装教程以及,ImportError: DLL load failed解决办法
文章目录- python-pcl
- 简介
- 使用预编译好的wheel安装(未成功)
- 从源码编译捆绑
- 使用conda安装
- 错误解决
- 测试
pclpy安装可参考系列文章:点云处理库pclpy安装 c++版本的pcl安装可参考系列文章:pcl点云库安装
python-pcl 简介python-pcl是pcl的小型python绑定(使用Cython)。目前,API的以下部分被包装(所有方法都在PointXYZ上操作)
- I/O and integration; saving and loading PCD files
- segmentation
- SAC
- smoothing
- filtering
- registration (ICP, GICP, ICP_NL)
GitHub:github/strawlab/python-pcl
基本上按照官方的教程一步一步安装就没有 问题。
下面主要记录一下windows下的安装
使用预编译好的wheel安装(未成功)这是windows上最简单的方法。wheel包含PCL二进制文件_,因此不需要安装原始的PCL库。
-
进入appveyor的历史页面
-
单击上一次成功的修订(绿色),并单击与python版本对应的作业
-
进入该任务的artfacts部分并下载wheel(扩展名为whl的文件)
-
在命令行中,移动到下载文件夹并运行以下命令(用右边的字符串替换XXX)
但是最近一次成功的提交已将是两年前了,而wheel文件只保留6个月,所以该方法行目前行不通。
从源码编译捆绑Windows with
- (Miniconda/Anaconda) - Python 3.4
- pcl 1.6.0(VS2010)
- Cython <= 0.25.2
- Gtk+
Windows with
- (Miniconda/Anaconda) - Python 3.5
- pcl 1.8.1(VS2015)
- Cython <= 0.25.2
- Gtk+
Windows with
- (Miniconda/Anaconda) - Python 3.6
- pcl 1.8.1(VS2017[Priority High]/VS2015[not VS2017 Install])
- Cython == 0.25.2
- Gtk+
Gtk下载:www.tarnyko/dl/gtk.htm
下载Gtk压缩包gtk±bundle_3.6.4-20130513_win64 后,将bin下面的文件复制到python-pcl源码的pkg-config文件夹下。(或者直接执行pkg-config文件夹下的powershell文件[Install-GTKPlus.ps1].)
python版本和vs编译器的对应:wiki.python/moin/WindowsCompilers
PCL_ROOT :
set PCL_ROOT=(PCL Install/Build_Binary FolderPath)PATH:
(pcl 1.6.0) set PATH=%PCL_ROOT%/bin/;%OPEN_NI_ROOT%/Tools;%VTK_ROOT%/bin;%PATH% (pcl 1.8.1/1.9.1) set PATH=%PCL_ROOT%/bin/;%OPEN_NI2_ROOT%/Tools;%VTK_ROOT%/bin;%PATH%- 使用pip进行编译安装
注意版本,在python-pcl库下边的setup.py里面看到这几句: 我选择的版本是
numpy==1.16 cython==0.26.0安装
python setup.py build_ext -i python setup.py install 使用conda安装或者也可以使用conda安装python-pcl
conda create -n ipk # create a new conda env. -> conda activate ipk # activate env. conda update -n base -c defaults conda # update conda conda config --add channels conda-forge # add conda-forge channels conda install -c sirokujira python-pcl # pcl installation conda install -c jithinpr2 gtk3 # Gtk+ Gui dependency # 下面两步可选,是方便测试用的 conda install -y ipython # install ipython conda install -y jupyter # install jupyter 错误解决从源码编译捆绑后,输入import pcl出现错误:
Python37\\lib\\site-packages\\python_pcl-0.3-py3.7-win-amd64.egg\\pcl_*init*_.py", line 5, in from ._pcl import * ImportError: DLL load failed这是因为conda的环境变量path和我们在windows里面设的环境变量不一致,在当前conda环境中输入echo %path%,查看当前conda环境中的环境变量: 发现conda中的环境变量只有我们设置的PATH中的前面一部分(也有可能是我软件装的太多了,PATH比较长) 解决办法:可以把PCL相关的几个路径上移到最前面 这样就可以顺利导出了! 其他解决方法:
更多解决方法参考系列文章:python-pcl安装ImportError: DLL load failed解决办法解决方案
测试 # -*- coding: utf-8 -*- from __future__ import print_function import numpy as np import pcl import pcl.pcl_visualization def main(): cloud = pcl.load('examples/pcldata/tutorials/table_scene_lms400.pcd') # Centred the data centred = cloud - np.mean(cloud, 0) # print(centred) ptcloud_centred = pcl.PointCloud() ptcloud_centred.from_array(centred) visual = pcl.pcl_visualization.CloudViewing() # PointXYZ visual.ShowMonochromeCloud(ptcloud_centred, b'cloud') v = True while v: v = not(visual.WasStopped()) if __name__ == "__main__": # import cProfile # cProfile.run('main()', sort='time') main()效果:
版权声明:本文标题:点云处理工具——python 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686763838a99630.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论