相关动态
realsense实时点云python realsense生成点云
2024-12-21 06:53

摘要:在ROS kinetic下,利用realsense D435深度相机采集校准的RGBD图片,合成点云,在rviz中查看点云,最后保存成pcd文件。

 

一、 各种bug

代码编译成功后,打开rviz添加pointcloud2选项卡,当我订阅合成点云时,可视化失败,选项卡报错:

1)Data size (9394656 bytes) does not match width (640) times height (480) times point_step (32).  Dropping message.

解读:通过  rostopic echo /pointcloud_topic  读取相机节点发布的原始点云的相关数据,可以发现每一帧原始点云的点数量为307200。合成点云的点数量为  9394656 / 32

原因:我事先给定合成点云的大小为,height = 480,width = 640. 然而在合成点云的过程中,剔除了部分违法值(d=0),由此导致合成点云的点数量与指定的点数量不匹配,合成点云的数据因此被丢弃。

解决方法:采用如下方法给定点云大小, cloud->height = 1; cloud->width = cloud->points.size();

 

2)transform xxxxx;

解读:通过  rostopic echo /pointcloud_topic

由此推断,合成点云缺失参考坐标系header.frame_id。点云中点的XYZ属性是相对于某个坐标系来描述的,因此,需要指定点云的参考坐标系。

解决方法:添加点云的header信息, 

 

3)将合成的点云存储成pcd文件时遇到如下报错:

经过多方查找,摸索了一步trick,分享给大家。真实报错原因仍未查明,期待前辈的指点

高博的源代码如下所示,里面的cloud是pcl的数据类型,

pcl::io::savePCDFile( "https://blog.51cto.com/u_16213721/pointcloud.pcd", *cloud );  。

我的源代码如下面所示,先通过 pcl::toROSMsg() 将pcl的数据类型转换成ros的数据类型,再写入pcd中,即可跳过报错。

 

4)相机内参

由于在彩色图和深度图配准的过程中,选用的是彩色图的坐标系,因此在合成点云(像素坐标在变换到相机坐标)时应该选用彩色图的相机内参。

realsense官方提供了一个应用程序可以查看所有视频流的内参。

如下所示

84 : Color #0 (Video Stream: Y16 640x480@ 60Hz)
85 : Color #0 (Video Stream: BGRA8 640x480@ 60Hz)
86 : Color #0 (Video Stream: RGBA8 640x480@ 60Hz)
87 : Color #0 (Video Stream: BGR8 640x480@ 60Hz)
88 : Color #0 (Video Stream: RGB8 640x480@ 60Hz)
89 : Color #0 (Video Stream: YUYV 640x480@ 60Hz)
90 : Color #0 (Video Stream: Y16 640x480@ 30Hz)
91 : Color #0 (Video Stream: BGRA8 640x480@ 30Hz)
92 : Color #0 (Video Stream: RGBA8 640x480@ 30Hz)
93 : Color #0 (Video Stream: BGR8 640x480@ 30Hz)
94 : Color #0 (Video Stream: RGB8 640x480@ 30Hz)
95 : Color #0 (Video Stream: YUYV 640x480@ 30Hz)
96 : Color #0 (Video Stream: Y16 640x480@ 15Hz)
97 : Color #0 (Video Stream: BGRA8 640x480@ 15Hz)
98 : Color #0 (Video Stream: RGBA8 640x480@ 15Hz)
99 : Color #0 (Video Stream: BGR8 640x480@ 15Hz)
100: Color #0 (Video Stream: RGB8 640x480@ 15Hz)
101: Color #0 (Video Stream: YUYV 640x480@ 15Hz)
102: Color #0 (Video Stream: Y16 640x480@ 6Hz)
103: Color #0 (Video Stream: BGRA8 640x480@ 6Hz)
104: Color #0 (Video Stream: RGBA8 640x480@ 6Hz)
105: Color #0 (Video Stream: BGR8 640x480@ 6Hz)
106: Color #0 (Video Stream: RGB8 640x480@ 6Hz)
107: Color #0 (Video Stream: YUYV 640x480@ 6Hz)

 

二、程序代码

    以上就是本篇文章【realsense实时点云python realsense生成点云】的全部内容了,欢迎阅览 ! 文章地址:http://sjzytwl.xhstdz.com/news/11987.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://sjzytwl.xhstdz.com/mobile/ , 查看更多   
最新文章
163手机(163手机版)
  《关于“163手机”的全面解析》  随着科技的飞速发展,智能手机已经成为我们日常生活中不可或缺的一部分。在众多手机品牌
腾讯手机管家(PC版) 5.8.2手机管家「腾讯手机管家(PC版) 5.8.2」
腾讯手机管家PC版(原腾讯应用助手)是一款PC端安卓智能手机管理软件。腾讯手机管家可以为用户提供海量的应用软件,方便用户下载,
汽车上用手机支架汽车手机支架「汽车上用手机支架」
手机支架是一种可以安装在汽车上的设备,它可以让驾驶员在驾驶过程中方便地使用手机。这种支架通常由两个部分组成:一个固定在汽
颜值大比拼!2022下半年绝对不能错过的三款手机高颜值手机「颜值大比拼!2022下半年绝对不能错过的三款手机」
俗话说人靠衣装马靠鞍,在盛行内卷的快时代,各大手机厂商想要争得一席之位,手机的颜值必须要足够有特色才能吸引更多的消费者
苹果11录音功能在哪设置出来苹果手机录音功能在哪「苹果11录音功能在哪设置出来」
开启苹果11的录音功能 要在11上设置并使用录音功能,您可以按照以下步骤进行操作:1. 检查内置应用 您需要确认您的iPhone 11已经
揭秘!智能手机电池:一充究竟能存多少度电?手机电量「揭秘!智能手机电池:一充究竟能存多少度电?」
在这个智能手机普及的时代,我们几乎无时无刻不依赖手中的小屏幕。然而,一个看似简单却常常引发疑惑的问题始终萦绕在人们心头:
166开头的手机号(166开头的手机号是哪个运营商)
  关于《以166开头的手机号》的文章  在中国的手机市场中,以166开头的手机号码是一种特殊的存在。这种号码段作为移动通讯领
苹果手机怎么全屏截图苹果手机怎么截图「苹果手机怎么全屏截图」
在数字时代,截图已成为我们日常生活和工作中不可或缺的一部分。对于使用苹果手机的用户来说,全屏截图功能尤为重要,特别是在需
360手机助手iphone版(360手机助手iphone版官方下载)
  《360手机助手iPhone版》:一站式手机管理利器  随着科技的发展,智能手机已经成为我们日常生活中不可或缺的一部分。为了
2手手机5(2手手机交易市场)
  《二手手机市场的新篇章:二手手机市场5》  随着科技的飞速发展,智能手机已经成为我们日常生活中不可或缺的一部分。随着
相关文章