日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Ubuntu16.04安装PCL库的python实现python-pcl,并且通过pcl加载pcd文件验证python-pcl是否安装成功

發布時間:2025/3/19 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu16.04安装PCL库的python实现python-pcl,并且通过pcl加载pcd文件验证python-pcl是否安装成功 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?1. 安裝PCL庫

使用如下指令安裝PCL庫。

sudo apt install libpcl-dev

如果提示“Unable to locate package libpcl-dev”,那么需要添加pcl倉庫并更新下載源,指令如下。

sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl sudo apt update

2. 安裝python-pcl模塊

可以通過終端輸入如下指令下載python-pcl包,也可以自己去github下

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

下載后,進入python-pcl文件夾,執行如下指令進行編譯。

python setup.py build_ext -i

編譯依賴于cython模塊,如果沒有安裝,會報錯如下。

?我們使用 pip install cython 安裝cython即可,如下。

?編譯完成后,我們執行如下指令進行安裝。

sudo python setup.py install

如果不使用sudo權限執行,則會報錯:“Permission denied:‘/usr/locallib’”,如下圖。

安裝的最后是處理python-pcl的依賴,需要“mock”?,但是提示找不到合適的mock版本"error: Could not find suitable distribution for Requirement.parse('mock')",如下圖。

此時,我們手動通過 pip install mock 安裝mock模塊卻已經安裝完成了,如下圖。

?此時,我們再執行 sudo python setup.py install 指令則成功安裝,如下圖。

?最終,我們在python終端內,也可以使用pcl模塊,如下。

3. 驗證python-pcl

我這邊使用的是深度圖像得到的點云數據,并且依賴于ROS,因此在加載機器人環境后,通過以下指令保存點云數據得到pcd文件,如下。

rosrun pcl_ros pointcloud_to_pcd /input:=/xtion/depth_registered/points ./

編寫如下python代碼,即可加載pcd文件并且對點云數據進行顯示,如下圖。

import pcl import numpy as np import pcl.pcl_visualizationif __name__ == "__main__":points = pcl.load_XYZRGB('test.pcd')viewer = pcl.pcl_visualization.CloudViewing()viewer.ShowColorCloud(points, b'cloud')v = Truewhile v:v = not(viewer.WasStopped())

??

4.?自己使用ROS下的point_cloud2包讀取點云數據

from sensor_msgs.msg import PointCloud2 from sensor_msgs import point_cloud2 import rospydef callback_pointcloud(data):dat = point_cloud2.read_points(data, field_names=("x", "y", "z"), skip_nans=True)print(type(dat))for d in dat:print(" x: {:.3f}, y: {:.3f}, z: {:.3f}".format(d[0], d[1], d[2]))if __name__ == "__main__":rospy.init_node('pcl_read', anonymous=True)rospy.Subscriber('/camera/depth/points', PointCloud2, callback_pointcloud) #訂閱的話題根據你自己的修改rospy.spin()

總結

以上是生活随笔為你收集整理的Ubuntu16.04安装PCL库的python实现python-pcl,并且通过pcl加载pcd文件验证python-pcl是否安装成功的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。