PointCloudConsortium > PCCブログ
PCL、3D関連の情報をブログ形式で発信します。
<2>サンプルコードをコピペ
PCL公式サイトのDocumentation/Tutorials/Visualizationの「The CloudViewer」ページよりサンプルコードをコピペします。
#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 ("pcd_data.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; }これまで同様に1行目に#include “stdafx.h”を追記します。
マグネットインダストリー
西内伸太郎
2014年8月25日
PCL関連ブログ
・MeshLabで点群メッシュ化の際に色情報をテクスチャ画像にする
・Point Cloud Libraryについて②「PCLの概要」
・Point Cloud Library について ①「PCLの登場の経緯」
本コンソーシアムに関するお問合せ、PCL・3D関連のご相談はお問合せフォームよりご連絡ください。