PCL+VS2015实现点云可视化

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/YunLaowang/article/details/86247642

PCL可视化资料多是基于Linux系统实现的,对于入门新手来说,如果想要在Windows系统中实现点云可视化,则免不了一番折腾。这里给出我在【Win10 x64+VS2015+PCL1.8.1】环境下实现的点云的可视化代码,并提供相关点云文件的下载链接,希望对新手有些许帮助。

方式一
  • 代码
// 使用CloudViewer类:提供的方法较少,只能进行简单的显示
#include <iostream>
#include <pcl/io/io.h>
#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/cloud_viewer.h>

using namespace std;
using namespace pcl;
using namespace io;

int main() {
	PointCloud<PointXYZ>::Ptr cloud(new PointCloud<PointXYZ>);// 生成用于存储点云的指针

	if (io::loadPCDFile("maize.pcd", *cloud) == -1) {  // 读取pcd文件,存储到cloud内
		cerr << "can't read file maize.pcd" << endl;
		return -1;
	}
	pcl::visualization::CloudViewer viewer("viewer");// 实例化CloudViewer对象
	
	viewer.showCloud(cloud);
	while (!viewer.wasStopped())// 保持窗口一直存在
	{	
	}
	return 0;
}
  • 结果
方式二
  • 代码
// 使用PCLVisualizer类:方法多、可进行多种操作
#include <iostream>
#include <pcl/point_types.h>
#include <pcl/io/ply_io.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/io/io.h>

using namespace std;
using namespace pcl;
using namespace io;

int main() {
	PointCloud<PointXYZ>::Ptr cloud(new PointCloud<PointXYZ>);

	if (io::loadPLYFile("bunny.ply", *cloud) == -1) { // 读取.ply文件
		cerr << "can't read file bunny.pcd" << endl;
		return -1;
	}

	boost::shared_ptr<visualization::PCLVisualizer> viewer(new visualization::PCLVisualizer("3D viewer")); // 实例化PCLVisualizer对象,窗口命名为3D viewer

	viewer->setBackgroundColor(0, 0, 0); // 设置背景颜色
	// 主要方法
	viewer->addPointCloud<PointXYZ>(cloud, "sample cloud"); // 将点云数据添加到视窗中
	viewer->setPointCloudRenderingProperties(visualization::PCL_VISUALIZER_OPACITY, 2, "sample cloud");// 设置点云显示属性,

	while (!viewer->wasStopped()) { // 保持窗口一直打开
		viewer->spinOnce(100);
		boost::this_thread::sleep(boost::posix_time::microseconds(1000));
	}
	return 0;
}
  • 结果
备注
  1. 注意:方式一中,点云可能并不会出现在窗口中,导致窗口全黑,此时只要把鼠标放在窗口中心、滚动鼠标滚轮进行缩小即可。
  2. 点云文件下载链接:链接:https:?//pan?.baidu?.com/s/1APoeuyN0UmbYcw3mR5PtMg
    提取码:nudz (删除?即可)
  3. 完整的工程文件:CSDN下载链接

猜你喜欢

转载自blog.csdn.net/YunLaowang/article/details/86247642