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