**嗨,我只想要一个来自kinect设备的点云。我按照以下链接进行操作。 http://pointclouds.org/documentation/tutorials/openni_grabber.php#openni-grabber
但是我收到以下错误。 请建议我,我做错了什么? :(
你的帮助非常值得!
#include <pcl/console/parse.h>
#include <pcl\console\time.h>
#include <pcl\io\io.h>
#include <pcl\point_types.h>
#include<pcl\io\pcd_io.h>
#include <pcl\io\openni_grabber.h>
#include <pcl-1.7\pcl\io\openni_grabber.h>
#include <pcl/visualization/cloud_viewer.h>
#include "time.h"
#include <iostream>
#include <string.h>
#include <sstream>
#include <Windows.h>
#include <stdio.h>
#include <mmsystem.h>
#include <pcl\io\grabber.h>
#include<pcl\point_types.h>
#include <OpenNI.h>
#include<pcl\io\boost.h>
using namespace pcl;
using namespace std;
class SimpleOpenNIViewer
{
public:
SimpleOpenNIViewer () : viewer ("PCL OpenNI Viewer") {}
void cloud_cb_ (const pcl::PointCloud<pcl::PointXYZ>::ConstPtr &cloud)
{
if (!viewer.wasStopped())
viewer.showCloud (cloud);
}
void run ()
{
// create a new grabber for OpenNI devices
pcl::Grabber* interface = new pcl::OpenNIGrabber();
// make callback function from member function
boost::function<void (const pcl::PointCloud<pcl::PointXYZ>::ConstPtr&)> f =
boost::bind (&SimpleOpenNIViewer::cloud_cb_, this, _1);
interface->registerCallback (f);
// start receiving point clouds
interface->start ();
while (!viewer.wasStopped())
{
boost::this_thread::sleep (boost::posix_time::seconds (1));
}
interface->stop ();
}
pcl::visualization::CloudViewer viewer;
};
int main ()
{
SimpleOpenNIViewer v;
v.run ();
return 0;
}
1>------ Build started: Project: Experiment_PCL_Kinect, Configuration: Debug Win32 ------
1> Experiment_PCL.cpp
1>Experiment_PCL.cpp(92): error C2039: 'OpenNIGrabber' : is not a member of 'pcl'
1>Experiment_PCL.cpp(92): error C2061: syntax error : identifier 'OpenNIGrabber'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========