Point Cloud Libraryのビューワーでサンプルデータを表示
kinectで取得したデータ(動画)をPCLのViewerで表示しようと思って、
前に作ったプロジェクトのコードをコピペしたら、ただのサンプルポイントクラウドデータを表示するコードだった。
やりたかったのはこれ↓
Point Cloud Libraryのビューワーでkinectのデータを表示 - kubotti’s memo
Visual Studio 2013
Point Cloud Libraryのインストールと設定 - kubotti’s memo
でPATH等は、設定済み。
Visual C++ > Win32 > Win32 Console Application
PclViewSample0
という名前でプロジェクト作成。
作成時のダイアログ(ウィザード)は、デフォルトのまま。
//// PclSample1.cpp : Defines the entry point for the console application. //// // //#include "stdafx.h" // // //int _tmain(int argc, _TCHAR* argv[]) //{ // return 0; //} // #include "stdafx.h" #include <pcl/visualization/cloud_viewer.h> #include <iostream> #include <pcl/io/io.h> #include <pcl/io/pcd_io.h> int user_data; void viewerOneOff(pcl::visualization::PCLVisualizer& viewer) { viewer.setBackgroundColor(1.0, 0.5, 1.0); pcl::PointXYZ o; o.x = 1.0; o.y = 0; o.z = 0; viewer.addSphere(o, 0.25, "sphere", 0); std::cout << "i only run once" << std::endl; } void viewerPsycho(pcl::visualization::PCLVisualizer& viewer) { static unsigned count = 0; std::stringstream ss; ss << "Once per viewer loop: " << count++; viewer.removeShape("text", 0); viewer.addText(ss.str(), 200, 300, "text", 0); //FIXME: possible race condition here: user_data++; } int main() { pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGBA>); pcl::io::loadPCDFile("my_point_cloud.pcd", *cloud); pcl::visualization::CloudViewer viewer("Cloud Viewer"); //blocks until the cloud is actually rendered viewer.showCloud(cloud); //use the following functions to get access to the underlying more advanced/powerful //PCLVisualizer //This will only get called once viewer.runOnVisualizationThreadOnce(viewerOneOff); //This will get called once per visualization iteration viewer.runOnVisualizationThread(viewerPsycho); while (!viewer.wasStopped()) { //you can also do cool processing here //FIXME: Note that this is running in a separate thread from viewerPsycho //and you should guard against race conditions yourself... user_data++; } return 0; }
x64のConfiguration
Active solution platform:
ダイアログで、
Type or select the new platform:
x64