有没有办法从 std::istream 而不是文件名获取 pcl 点云
is there a way to get a pcl pointcloud from std::istream instead of a filename
我想从 istream 输出一个 pcl 点云(层文件直接从服务器读取,不能保存在本地)。如果有办法实现这一目标,任何人都可以提供帮助吗?
我熟悉 pcl::io::loadPLYFile<pcl::PointXYZRGBA>(std::string fname, *cloud);
但我正在寻找的函数是 xxxx(std::istream, *cloud);
的形式 我试着在 github 中查看 pcl 的代码库但是哪儿也去不了! :(
我认为 PCL 没有一项功能可以满足您的要求。但是看看.ply file format,我建议你做一些类似下面的事情
- 逐行浏览文件
- 找到
element vertex X
后,保留数字 X[=21=]
- 找到
end_header
后,开始从下一行到下X
行 读取顶点值(我猜是按照x y z r g b a的顺序)
- 将读取值分配给您创建的点云
我想从 istream 输出一个 pcl 点云(层文件直接从服务器读取,不能保存在本地)。如果有办法实现这一目标,任何人都可以提供帮助吗?
我熟悉 pcl::io::loadPLYFile<pcl::PointXYZRGBA>(std::string fname, *cloud);
但我正在寻找的函数是 xxxx(std::istream, *cloud);
的形式 我试着在 github 中查看 pcl 的代码库但是哪儿也去不了! :(
我认为 PCL 没有一项功能可以满足您的要求。但是看看.ply file format,我建议你做一些类似下面的事情
- 逐行浏览文件
- 找到
element vertex X
后,保留数字 X[=21=] - 找到
end_header
后,开始从下一行到下X
行 读取顶点值(我猜是按照x y z r g b a的顺序)
- 将读取值分配给您创建的点云