二、点云PCL 可视化(1)(仅供自己学习,有错误欢迎指正)

二、点云PCL 可视化(1)(仅供自己学习,有错误欢迎指正),第1张

二、点云PCL 可视化(1)(仅供自己学习,有错误欢迎指正)
​
//点云简单可视化
#include

#include

#include  //pcd 读写类相关的头文件。

#include

#include //PCL中支持的点类型头文件。

#include//标准C++库中的输入输出类相关头文件。

#include

using namespace std;



boost::shared_ptr SimpleVisual(pcl::PointCloud::ConstPtr cloud)

{

boost::shared_ptr viewer(new pcl::visualization::PCLVisualizer("Simple Viewer")); //创建一个窗口

viewer->setBackgroundColor(0, 0, 0); //设置背景颜色

viewer->addPointCloud(cloud, "Simple Cloud"); //添加点云,更改此句可以修改点云的显示

viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "Simple Cloud"); //设置点云呈现的属性,点的大小,点云对象

viewer->addCoordinateSystem(1.0); //添加一个坐标系统,也就是x,y,z三个坐标轴,比例尺设为1.0

viewer->initCameraParameters(); //初始化相机参数,让用户在默认的角度下观察点云

return viewer;

}

int main()

{

pcl::PointCloud::Ptr cloud(new pcl::PointCloud);



string filepath = "rabbit_t.pcd";

if (-1 == pcl::io::loadPCDFile(filepath, *cloud)) //打开点云文件

{

cout << "error input!" << endl;

return -1;

}

cout << cloud->points.size() << endl;

boost::shared_ptr viewer;

viewer = SimpleVisual(cloud);

while (!viewer->wasStopped())

{

viewer->spinonce(100); //100ms刷新一次屏幕

std::this_thread::sleep_for(std::chrono::microseconds(100000)); }

return 0;

}

​

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5699058.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存