今回は読み込みを飛ばして可視化をします。
可視化できないと何をやっているのかさっぱりなので。
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やります。なんかリクエストあればやるかも。
返信削除