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 update2. 安裝python-pcl模塊
可以通過終端輸入如下指令下載python-pcl包,也可以自己去github下
git clone https://github.com/strawlab/python-pcl.git下載后,進(jìn)入python-pcl文件夾,執(zhí)行如下指令進(jìn)行編譯。
python setup.py build_ext -i編譯依賴于cython模塊,如果沒有安裝,會(huì)報(bào)錯(cuò)如下。
?我們使用 pip install cython 安裝cython即可,如下。
?編譯完成后,我們執(zhí)行如下指令進(jìn)行安裝。
sudo python setup.py install如果不使用sudo權(quán)限執(zhí)行,則會(huì)報(bào)錯(cuò):“Permission denied:‘/usr/locallib’”,如下圖。
安裝的最后是處理python-pcl的依賴,需要“mock”?,但是提示找不到合適的mock版本"error: Could not find suitable distribution for Requirement.parse('mock')",如下圖。
此時(shí),我們手動(dòng)通過 pip install mock 安裝mock模塊卻已經(jīng)安裝完成了,如下圖。
?此時(shí),我們?cè)賵?zhí)行 sudo python setup.py install 指令則成功安裝,如下圖。
?最終,我們?cè)趐ython終端內(nèi),也可以使用pcl模塊,如下。
3. 驗(yàn)證python-pcl
我這邊使用的是深度圖像得到的點(diǎn)云數(shù)據(jù),并且依賴于ROS,因此在加載機(jī)器人環(huán)境后,通過以下指令保存點(diǎn)云數(shù)據(jù)得到pcd文件,如下。
rosrun pcl_ros pointcloud_to_pcd /input:=/xtion/depth_registered/points ./編寫如下python代碼,即可加載pcd文件并且對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行顯示,如下圖。
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包讀取點(diǎn)云數(shù)據(jù)
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) #訂閱的話題根據(jù)你自己的修改rospy.spin()總結(jié)
以上是生活随笔為你收集整理的Ubuntu16.04安装PCL库的python实现python-pcl,并且通过pcl加载pcd文件验证python-pcl是否安装成功的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dex-net再次复现
- 下一篇: Windows10安装python2.7