python-pcl可视化点云工具(windows和ubuntu18.04安装及测试)

python-pcl可视化点云工具(windows和ubuntu18.04安装及测试)

python 可视化点云工具 python-pcl

(感谢前辈)转自:https://zhuanlan.zhihu.com/p/72116675


python-pcl github地址

python-pcl 是我尝试过使用体验最好的点云数据可视化工具,它是c++上著名的pcl的python版本,虽然还有很多代码没有写完整,但是不妨碍它成为一个优秀的python 点云工具;

GitHub页面:
https://github.com/strawlab/python-pcl


windows下安装python-pcl

载安装的 whl 页面,我没有尝试去直接编译它的代码,感觉会很麻烦,所以选择了用它已经编译好的版本:

https://pypi.org/project/python-pcl/#files


ubuntu18.04配置python-pcl

这里用最简单并且最好用的方法:

pip3 install cython==0.26.0    # 看到python-pcl中setup.py提示cython>=0.26.0
pip3 install numpy  # 还需要安装一下numpy
sudo apt-get install libpcl-dev pcl-tools

完美完成,这里默认的安装版本的pcl1.8.1,vtk6.3
安装python-pcl

git clone https://github.com/strawlab/python-pcl.git
cd python-pcl-master

这里先不要着急buildinstall,修改setup.py文件中的两处地方
第一处是:由于libpcl-dev默认的依赖是6.3,而python-pclsetup.py文件里是7.0,所以我们在setup.py文件里728行更改配置,将7.0注释掉,改成默认装好的6.3版本。
在这里插入图片描述

第二处是,删除752行中一些不需要的东西:

vtkexpat
vtkfreetype
vtkgl2ps
vtkhdf5
vtkhdf5_hl
vtkjpeg
vtkjsoncpp
vtklibxml2
vtkNetCDF
vtkNetCDF_cxx
vtkoggtheora
vtkpng
vtkproj4
vtksqlite
vtktiff
vtkzlib

或者直接复制下面替换一下也OK

vtklibreleases = ['vtkalglib-' + vtk_version, 'vtkChartsCore-' + vtk_version, 'vtkCommonColor-' + vtk_version, 'vtkCommonComputationalGeometry-' + vtk_version, 'vtkCommonCore-' + vtk_version, 'vtkCommonDataModel-' + vtk_version, 'vtkCommonExecutionModel-' + vtk_version, 'vtkCommonMath-' + vtk_version, 'vtkCommonMisc-' + vtk_version, 'vtkCommonSystem-' + vtk_version, 'vtkCommonTransforms-' + vtk_version, 'vtkDICOMParser-' + vtk_version, 'vtkDomainsChemistry-' + vtk_version, 'vtkexoIIc-' + vtk_version, 'vtkFiltersAMR-' + vtk_version, 'vtkFiltersCore-' + vtk_version, 'vtkFiltersExtraction-' + vtk_version, 'vtkFiltersFlowPaths-' + vtk_version, 'vtkFiltersGeneral-' + vtk_version, 'vtkFiltersGeneric-' + vtk_version, 'vtkFiltersGeometry-' + vtk_version, 'vtkFiltersHybrid-' + vtk_version, 'vtkFiltersHyperTree-' + vtk_version, 'vtkFiltersImaging-' + vtk_version, 'vtkFiltersModeling-' + vtk_version, 'vtkFiltersParallel-' + vtk_version, 'vtkFiltersParallelImaging-' + vtk_version, 'vtkFiltersProgrammable-' + vtk_version, 'vtkFiltersSelection-' + vtk_version, 'vtkFiltersSMP-' + vtk_version, 'vtkFiltersSources-' + vtk_version, 'vtkFiltersStatistics-' + vtk_version, 'vtkFiltersTexture-' + vtk_version, 'vtkFiltersVerdict-' + vtk_version,  'vtkGeovisCore-' + vtk_version, 'vtkImagingColor-' + vtk_version, 'vtkImagingCore-' + vtk_version, 'vtkImagingFourier-' + vtk_version, 'vtkImagingGeneral-' + vtk_version, 'vtkImagingHybrid-' + vtk_version, 'vtkImagingMath-' + vtk_version, 'vtkImagingMorphological-' + vtk_version, 'vtkImagingSources-' + vtk_version, 'vtkImagingStatistics-' + vtk_version, 'vtkImagingStencil-' + vtk_version, 'vtkInfovisCore-' + vtk_version, 'vtkInfovisLayout-' + vtk_version, 'vtkInteractionImage-' + vtk_version, 'vtkInteractionStyle-' + vtk_version, 'vtkInteractionWidgets-' + vtk_version, 'vtkIOAMR-' + vtk_version, 'vtkIOCore-' + vtk_version, 'vtkIOEnSight-' + vtk_version, 'vtkIOExodus-' + vtk_version, 'vtkIOExport-' + vtk_version, 'vtkIOGeometry-' + vtk_version, 'vtkIOImage-' + vtk_version, 'vtkIOImport-' + vtk_version, 'vtkIOInfovis-' + vtk_version, 'vtkIOLegacy-' + vtk_version, 'vtkIOLSDyna-' + vtk_version, 'vtkIOMINC-' + vtk_version, 'vtkIOMovie-' + vtk_version, 'vtkIONetCDF-' + vtk_version, 'vtkIOParallel-' + vtk_version, 'vtkIOParallelXML-' + vtk_version, 'vtkIOPLY-' + vtk_version, 'vtkIOSQL-' + vtk_version, 'vtkIOVideo-' + vtk_version, 'vtkIOXML-' + vtk_version, 'vtkIOXMLParser-' + vtk_version, 'vtkmetaio-' + vtk_version,  'vtkParallelCore-' + vtk_version,  'vtkRenderingAnnotation-' + vtk_version, 'vtkRenderingContext2D-' + vtk_version, 'vtkRenderingContextOpenGL-' + vtk_version, 'vtkRenderingCore-' + vtk_version, 'vtkRenderingFreeType-' + vtk_version, 'vtkRenderingGL2PS-' + vtk_version, 'vtkRenderingImage-' + vtk_version, 'vtkRenderingLabel-' + vtk_version, 'vtkRenderingLIC-' + vtk_version, 'vtkRenderingLOD-' + vtk_version, 'vtkRenderingOpenGL-' + vtk_version, 'vtkRenderingVolume-' + vtk_version, 'vtkRenderingVolumeOpenGL-' + vtk_version,  'vtksys-' + vtk_version, 'vtkverdict-' + vtk_version, 'vtkViewsContext2D-' + vtk_version, 'vtkViewsCore-' + vtk_version, 'vtkViewsInfovis-' + vtk_version]

这下就可以放心的进行安装,执行以下两条命令即可:

python3 setup.py build_ext -i
python3 setup.py install

看到下面提示就代表安装成功了
在这里插入图片描述
在这里插入图片描述


到该页面后点击绿色的便签,绿色代表编译成功,红色表示失败,然后看是不是符合你的系统和python版本,我用的是Windows版本,python可以随意选,因为用的虚拟环境;

下载完成后直接pip 安装就可以了:

pip3 install python_pcl-XXX.whl

可视化的实例代码 1:

import pcl.pcl_visualization


# lidar_path 指定一个kitti 数据的点云bin文件就行了
points = np.fromfile(lidar_path, dtype=np.float32).reshape(-1, 4)  # .astype(np.float16)
cloud = pcl.PointCloud(points[:,:3])
visual = pcl.pcl_visualization.CloudViewing()
visual.ShowMonochromeCloud(cloud)


flag = True
while flag:
    flag != visual.WasStopped()

可视化的实例代码 2, 可以加入颜色显示:

import pcl.pcl_visualization

# lidar_path 指定一个kitti 数据的点云bin文件就行了 points = np.fromfile(lidar_path, dtype=np.float32).reshape(-1, 4) # .astype(np.float16)


# 这段代码省略,要在这里对第四列进行赋值,它代表颜色值,根据你自己的需要赋值即可; points[:,3] = ...


# PointCloud_PointXYZRGB 需要点云数据是N*4,分别表示x,y,z,RGB ,其中RGB 用一个整数表示颜色; color_cloud = pcl.PointCloud_PointXYZRGB(points) visual = pcl.pcl_visualization.CloudViewing() visual.ShowColorCloud(color_cloud, b'cloud') flag = True while flag:
    flag != visual.WasStopped()

效果如下图,可以任意旋转查看视图,非常快捷方便,并且一点都不卡!!

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2176.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python安装失败_python第三方库安装失败

    Python安装失败_python第三方库安装失败详细内容相信很多刚开始入门Python的菜鸟们在安装python第三方库的时候,多多少少都会遇到一些安装失败的问题。下面,我将结合自身经验,分享一下在windows操作系统上此类问题的解决办法。一、清楚自己所安装的python版本(2.7或3.6,andmore);(推荐学习:Python视频教程)二、检查是否安装了pip,pip版本是否可以使用;三、网络是否正常;如果确认上面都没有问题的话,就…

    2022年10月2日
    4
  • linux的gcc命令_Linux全套视频

    linux的gcc命令_Linux全套视频   GCC原名为GNUC语言编译器(GNUCCompiler),因为它原本只能处理C语言。GCC很快地扩展,变得可处理C++。后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNUCompilerCollection)。 gcc命令下各选项的…

    2022年10月13日
    1
  • pycharm如何安装第三方库_python第三方库离线安装

    pycharm如何安装第三方库_python第三方库离线安装1.安装第三方库首先打开pycharm,点击【file】->【Setting】,如图所示:打开后如图所示:右侧则显示出已经安装的包,如果想安装新的包,点击绿色加号。2.安装插件首先点击插件:如图所示:点击下方中可以从网络或者本地安装插件。3.利用命令行安装包打开命令行窗口,这不许多说。语法为:pipinstall包名注意:包名不要写错哦当然前提是你要安装了pip包,我用的是pyth

    2022年8月25日
    6
  • zencart免费模板下载

    zencart免费模板下载最近工作比较忙,没有时间专门来制作这个免费的包包模板。趁国庆放假有时间,顺便就把这个免费模板制作完了。今天特别提供出来给大家下载使用。考虑到很难满足所有有的要求,所以这个模板在一些地方基本没有修改原有模板的布局,只是简单的修改CSS。不过经过修改的这个模板也还算漂亮,大体上的布局已经设置好。我们没有那么多的时间去美化一个这样的模板,俗话说:授人鱼不如授人渔。如果有兴趣做二次开发的朋友可以继续修

    2022年7月27日
    5
  • Jsoup-jar包下载

    Jsoup-jar包下载Jsoup:jsoup是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。*快速入门:*步骤:1.导入jar包链接:https://pan.baidu.com/s/1KPQw3sYdxHaGB3pYaoGvdQ提取码:6a7x下载完成后解压,将jso…

    2022年5月14日
    38
  • [TroubleShooting]'trn\bak' is incorrectly formed. SQL Server cannot process this media family.

    [TroubleShooting]'trn\bak' is incorrectly formed. SQL Server cannot process this media family.

    2022年1月17日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号