Python 3.x 在ROS中与python一起使用pcl

Python 3.x 在ROS中与python一起使用pcl,python-3.x,ros,Python 3.x,Ros,我是ROS的新手,我有个问题 我正在尝试使用pcl库可视化点云。 首先,我启动我的ros realsense摄像头,在终端中键入“roslaunch realsense2\u camera rs\u camera.launch filters:=点云” 然后,我制作了一个catkin包,其中有一个listener.py脚本,我订阅了realsense,并获得了我想要的点云信息。到现在为止,一直都还不错! 现在我想使用PCL库可视化这个点云,但是当我运行包“rosrun PCL listener.

我是ROS的新手,我有个问题

我正在尝试使用pcl库可视化点云。 首先,我启动我的ros realsense摄像头,在终端中键入“roslaunch realsense2\u camera rs\u camera.launch filters:=点云” 然后,我制作了一个catkin包,其中有一个listener.py脚本,我订阅了realsense,并获得了我想要的点云信息。到现在为止,一直都还不错! 现在我想使用PCL库可视化这个点云,但是当我运行包“rosrun PCL listener.py”时,我得到了错误

导入pcl
ImportError:没有名为pcl的模块
所以我的问题是我错过了什么? 如何在ros包中导入pcl? 我是否必须在CMakeLists.txt或/和package.xml上添加一些内容

我包括listener.py脚本

#!/usr/bin/env python
import rospy
import pcl
import ros_numpy
import sensor_msgs.point_cloud2 as pc2
from sensor_msgs.msg import PointCloud2

def callback_ptclud(ptcloud_data):
    pc = ros_numpy.numpify(data)
    points=np.zeros((pc.shape[0],3))
    points[:,0]=pc['x']
    points[:,1]=pc['y']
    points[:,2]=pc['z']
    p = pcl.PointCloud(np.array(points, dtype=np.float32))

def listener():
    rospy.Subscriber("/camera/depth/color/points", PointCloud2, callback_ptclud)
    rospy.spin()

if __name__ == '__main__':
    rospy.init_node("realsense_subscriber", anonymous=True)
    listener()
先谢谢你
任何帮助都被理解为

不是答案,但我建议使用C++来实现PCL库。如果您坚持使用Python,请使用Open3D,它有更好的Python+点云支持