【问题标题】:Using Point Cloud Library in Python在 Python 中使用点云库
【发布时间】:2013-11-05 14:25:55
【问题描述】:

您好,我正在尝试在 Python 中使用点云库,由于我是这个 C++ 库和 Python 的新手,我正在关注http://strawlab.github.io/python-pcl/#pcl.PointCloud 上的教程

但是,每当我尝试导入 pcl 并定义诸如 pcl.PointCloud() 之类的模块时,我都会收到以下错误;

AttributeError: 'module' object has no attribute 'PointCloud'

我使用sys.path.append 指向安装PCL 文件的正确目录,因为它们不在站点包中。它在上面的链接上说 C++ 代码已经获得了 Python 绑定,但我不确定我要在 Python 中调用哪些文件。有人知道如何克服这个错误并加载这些模块吗?

谢谢, 安德鲁

【问题讨论】:

  • 如何在 Python 中导入 pcl?向我们展示代码。
  • 你能告诉你如何导入 pcl 吗?
  • 我按照上面链接的教程中的示例,使用代码import pcl然后尝试使用pcl.PointCloud()调用PointCloud模块

标签: c++ python point-cloud-library


【解决方案1】:

试试这个,

sudo add-apt-repository ppa:sweptlaser/python3-pcl
sudo apt update
sudo apt install python3-pcl

完成之后你应该可以运行了:

python3 -c 'import pcl'

它会毫无错误地返回(而不是ModuleNotFoundError: No module named 'pcl')。

测试日期:

Ubuntu 18.04 LTS

Python 3.6.9

参考:https://askubuntu.com/a/1170661/922137

【讨论】:

    【解决方案2】:

    尝试跳过括号:

    from pcl import PointCloud
    

    然后创建一个PointCloud实例,例如p

    p = PointCloud()
    

    希望对你有帮助!

    【讨论】:

    • 感谢您的回复,但这似乎并没有解决问题。这次报错说ImportError: cannot import name PointCloud
    • 我想我误解了你的问题,等等。
    • 你能告诉我你如何安装pcl吗?
    • 我从以下网站 pointclouds.org/downloads/windows.html 安装了 pcl,并安装了 1.6.0 一体式安装程序。然后一所大学说我应该能够按照教程将pcl库加载到python中,而不必使用ctypescython之类的东西,因为它已经有了python绑定
    • 具体是如何导入的?
    【解决方案3】:

    根据此页面,您似乎需要 PCL 1.5.1 和 cython 0.16:http://strawlab.github.io/python-pcl/

    【讨论】:

    • 那与代码不同步;您可以查看 setup.py 以查看在编译时接受哪些版本的 pcl。
    【解决方案4】:

    """https://blog.pollithy.com/python/numpy/pointcloud/tutorial-pypcd"""

    python3.6 -m pip install --user git+https://github.com/DanielPollithy/pypcd.git

    【讨论】:

    • 这是一个确定的解决方案
    • 请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。
    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    • 1970-01-01
    • 2017-10-01
    相关资源
    最近更新 更多