[pcl][原创]python-pcl安装配置支持windows和ubuntu完美流程 2025版本

目前在全网范围内,关于PCL的Python版本配置方案普遍存在各种兼容性与依赖问题,几乎没有一篇文章能够提供完整、可复现的解决方案。经过长达数月的反复尝试与调试,我最终成功打通了完整的安装流程,并在Windows与Ubuntu双系统上均完成了验证。以下是最终成果展示:

其中,Windows端的成功运行环境如下:

  • 操作系统:Windows 10
  • 开发工具:Visual Studio 2019 专业版
  • PCL版本:PCL 1.11.1
  • Python环境:Anaconda3
  • 支持Python版本:Python 3.6 或 Python 3.7

安装步骤如下:

第一步:安装VS2019和PCL 1.11.1
该部分为标准安装流程,此处不做赘述。

第二步:安装Anaconda3
仅需配置好Anaconda环境,用于后续创建独立虚拟环境。

第三步:启动配置工具(务必以管理员权限运行)
在界面中指定Anaconda3的安装路径以及PCL的安装目录,点击“开始配置”,约等待4分钟即可自动完*部环境变量与依赖配置。

测试验证:

进入Anaconda命令行,激活名为 pcl 的虚拟环境:

conda activate pcl

使用以下官方示例代码进行测试(保存为 test.py):

# -*- coding: utf-8 -*-
import pcl
import pcl.pcl_visualization

def main(): a = 22 b = 12 c = 10

viewer = pcl.pcl_visualization.PCLVisualizering()

cloud = pcl.load("rabbit.pcd")
cloud_filtered = cloud

last_c = 0

while last_c != 27:
    i = 0.1 * a
    j = 0.1 * b
    k = 0.1 * c

    pass_th = cloud.make_passthrough_filter()
    pass_th.set_filter_field_name("y")
    pass_th.set_filter_limits(-k, k)
    cloud = pass_th.filter()

    pass_th.set_filter_field_name("x")
    pass_th.set_filter_limits(-j, j)
    cloud = pass_th.filter()

    pass_th.set_filter_field_name("z")
    pass_th.set_filter_limits(-10, 10)
    cloud = pass_th.filter()

    viewer.AddPointCloud(cloud, b'scene_cloud', 0)
    viewer.SpinOnce()
    viewer.RemovePointCloud(b'scene_cloud', 0)

if name == "main": main()

执行命令:

python test.py

若程序正常运行并弹出点云可视化窗口(即首图所示效果),则表明安装成功。

此外,本方案同样适用于 Ubuntu 18.04 系统,已实现在该环境下完成 python-pcl 的编译与调用,效果与Windows平台一致,实现跨平台统一部署。