c++ - 有没有办法从 std::istream 获取 pcl 点云而不是文件名
问题描述
我想从 istream 输出 pcl 点云(直接从服务器读取的 ply 文件,不能保存在本地)。如果有办法实现这一目标,任何人都可以提供帮助吗?
我很熟悉,pcl::io::loadPLYFile<pcl::PointXYZRGBA>(std::string fname, *cloud);
但我正在寻找的功能是xxxx(std::istream, *cloud);
我尝试在 github 中查看 pcl 的代码库但无法到达任何地方的形式!:(
解决方案
我认为 PCL 没有一项功能可以满足您的要求。但是查看.ply 文件格式,我建议您执行以下操作
- 逐行浏览文件
- 找到
element vertex X
后,保留数字X - 找到后,开始从下一行到下一行
end_header
读取顶点值(我猜是 xyzrgba 的顺序)X
- 将读取值分配给您创建的点云
推荐阅读
- c# - 变换位置不改变游戏对象位置
- python - 如何在 python 中使用 youtube_dl 和 ffmpeg 剪掉前 5 秒
- arrays - 在 for 循环中添加新行。C 编程
- reactjs - CKEditor 未填充数据收到 API
- fluent-ui - 如何冻结 Fluent UI 详细信息列表中的第一列
- r - 将 `tidyeval` 与 exposition 管道运算符一起使用
- angular - ngOnInit() 上共享服务的 jasmine 测试用例显示未定义
- nginx - 当上游服务器重启且未恢复正常时,NGINX 显示“错误网关”
- python - SimpleITK.Euler3DTransform 和 scipy.spatial.transform.Rotation.from_euler 的区别?
- javascript - 如何使用 vue js 将组件/字段动态注入虚拟页面?