当前位置: 首页 > news >正文

SLAM 将PCL点云转换成八叉树地图

这个程序可以把PCL点云压缩成不带颜色的八叉树地图。

先看一下输入数据,是一个咖啡厅的一小部分:

程序运行后会生成不带颜色的八叉树地图,使用octovis查看:

把输出结果按高度染色:

输入:任意PCL点云 <pointcloud.pcd>

输出:以二进制保存的八叉树地图 <pointcloud.bt>

运行:编译后在cmd里带参数才能运行 <pointcloud.pcd> <pointcloud.bt>

示例:program,exe sample.pcd sample.bt

视频演示:https://www.bilibili.com/video/BV18sLi6dEHW/

代码:

#include <iostream> #include <assert.h> //pcl #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> //octomap #include <octomap/octomap.h> using namespace std; int main( int argc, char** argv ) { if (argc != 3) { cout<<"Usage: pcd2octomap <input_file> <output_file>"<<endl; return -1; } string input_file = argv[1], output_file = argv[2]; pcl::PointCloud<pcl::PointXYZRGBA> cloud; pcl::io::loadPCDFile<pcl::PointXYZRGBA> ( input_file, cloud ); cout<<"point cloud loaded, piont size = "<<cloud.points.size()<<endl; //声明octomap变量 cout<<"copy data into octomap..."<<endl; // 创建八叉树对象,参数为分辨率,这里设成了0.05 octomap::OcTree tree( 0.05 ); for (auto p:cloud.points) { // 将点云里的点插入到octomap中 tree.updateNode( octomap::point3d(p.x, p.y, p.z), true ); } // 更新octomap tree.updateInnerOccupancy(); // 存储octomap tree.writeBinary( output_file ); cout<<"done."<<endl; return 0; }

参考:SLAM拾萃(1):octomap - 半闲居士 - 博客园

http://www.jsqmd.com/news/1157874/

相关文章:

  • 2026年湖南诚信美术高考学校发布:壹品培训学校实力解析与选型指南 - 品牌鉴赏官2026
  • Java开发者怎么选开源商城?技术选型的四个关键维度
  • 本地部署Codex与DeepSeek集成:离线AI代码助手实战指南
  • 前端转AI产品经理?收藏这份提效指南,小白也能轻松入门!
  • Compose 1.6+ 混合开发:XML布局与ViewBinding的2种集成模式与性能实测
  • 基于Playwright与AI的新闻聚合与智能摘要系统实战
  • STM32与TB6593FNG实现直流电机PID控制方案
  • 通信工程毕设避坑指南:STM32项目常见的5类硬件选型与软件架构误区
  • 武汉潮酒派科技有限公司云值守酒水店
  • 爬虫数据存储到数据库——MySQL + MongoDB 实战
  • ZEMAX 光学仿真:对比3种透镜聚焦光斑直径计算公式的适用场景与误差
  • 《冰雪传奇点卡版》最新正版官网下载全攻略,游昕直营正规渠道
  • 2026年江苏衬塑反应釜信誉厂家深度解析与选型推荐 - 品牌鉴赏官2026
  • 北京合同纠纷找律师,这些实务要点你需要了解 - 品牌排行榜
  • 雅阁固五金文化与未来战略是什么?
  • 我独立推导出了当前社会短视频UGC策略
  • Facebook自动投流与智能回复工具:支持定时投流、DeepSeek AI自动回复、多级跟进策略、多Page统一管理软件
  • HDagger文件操作完全手册:高效文件处理技巧
  • 服务器redfish技术知识介绍
  • 近期AI量化工具选择,先匹配能力基础和当前短板
  • LMCache:基于语义相似度的LLM缓存优化实践
  • 2026杭州专业刑事律所推荐,你不容错过! - 品牌排行榜
  • 东南大学916复试C++:553笔试3大高频考点与《新编C++习题》解析
  • AI角色扮演深度指南:从提示工程到实战调校,打造沉浸式对话体验
  • Claude Code启动失败?Node.js安装与架构匹配全指南
  • A3910与STM32L162ZE电机控制方案解析
  • HarmonyOS ArkUI 3.0 组件封装:图书管理 UI 层 5 个可复用组件设计
  • 告别焦虑等待!Elsevier投稿状态自动追踪插件终极指南
  • 惠斯通电桥电路原理:从平衡条件 R1/R2=R3/R4 到 3 种传感器应用
  • 医院HIS系统卡顿 | DG5五层定位法 | 50万采购预算如何零成本解决