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