背景:
基于PCL获取Kinect1的实时点云,并可视化,这个功能在官方的指导教程点击打开链接里有。但是,我需要突出视野中心的那部分点云,还有加一个一键保存点云数据的功能。所以我自己写了个小程序,代码在下面有。
注:
还有,官方的指导教程里的代码会使Kinect读到的点云在可视化的时候是上下颠倒的,我修复了这个bug。
如果跑我的代码时候,遇到这个问题error: pcl/io/openni_grabber.h: No such file or directory,请参考我的另一文章:点击打开链接
1. 代码:
#include <pcl/io/openni_grabber.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/filters/passthrough.h>
#include <pcl/io/pcd_io.h>
#include <pcl/common/transforms.h>
#include <string>
#include <iostream>
#include <vector>
boost::mutex cloud_mutex;
pcl::PointCloud<pcl::PointXYZ>::ConstPtr cloud_global;
class SimpleOpenNIViewer
{
public:
SimpleOpenNIViewe