今回は読み込みを飛ばして可視化をします。
可視化できないと何をやっているのかさっぱりなので。
http://pointclouds.org/documentation/tutorials/cloud_viewer.php#cloud-viewer
前回のコードを少し書き換えて、ビューワのコードをいれてみました。
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/visualization/cloud_viewer.h> // 追加
int
main (int argc, char** argv)
{
pcl::PointCloud<pcl::PointXYZ> cloud;
// Fill in the cloud data
cloud.width = 5;
cloud.height = 1;
cloud.is_dense = false;
cloud.points.resize (cloud.width * cloud.height);
for (size_t i = 0; i < cloud.points.size (); ++i)
{
cloud.points[i].x = 1024 * rand () / (RAND_MAX + 1.0);
cloud.points[i].y = 1024 * rand () / (RAND_MAX + 1.0);
cloud.points[i].z = 1024 * rand () / (RAND_MAX + 1.0);
}
// 追加
pcl::visualization::CloudViewer viewer ("Simple Cloud Viewer");
viewer.showCloud (cloud.makeShared());
while (!viewer.wasStopped ()) {
}
return (0);
}
CMakeLists.txtは以下のような感じ。
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(pcd_write)
find_package(PCL 1.1 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable (pcd_write pcd_write.cpp)
add_executable (pcl_view_test pcl_view_test.cpp)
target_link_libraries (pcd_write ${PCL_COMMON_LIBRARIES} ${PCL_IO_LIBRARIES})
target_link_libraries (pcl_view_test ${PCL_LIBRARIES})
$ ./pcl_view_test
とすると以下のようなビューワが立ち上がります。
マウスを駆使してうまく表示します。ホイールで縮小するとよさそうです。
見えないでしょうがちっちゃい5つの白い点が作成したポイントクラウドです。
ためしに点を100x100くらいにしてみます。widthとheightを100にしてみます。
おー、ポイントクラウドって感じですね。
公式のチュートリアルはこちらです。
もう少し詳しいので必要になったら参照したいと思います。
http://pointclouds.org/documentation/tutorials/cloud_viewer.php#cloud-viewer
ためしに点を100x100くらいにしてみます。widthとheightを100にしてみます。
おー、ポイントクラウドって感じですね。
公式のチュートリアルはこちらです。
もう少し詳しいので必要になったら参照したいと思います。
http://pointclouds.org/documentation/tutorials/cloud_viewer.php#cloud-viewer


最近pclの存在を知った者です。
返信削除こうゆう記事を書いてもらえるととても助かります。
今後もいい記事をお願いします!!
しばらくPCLやります。なんかリクエストあればやるかも。
返信削除