Ubuntu16.04安装PCL库的测试demo

  • Post author:
  • Post category:其他


1.创建文件夹

1.1在主目录下新建文件夹‘test_pcl’

1.2在‘test_pcl’文件夹下新建文件夹‘build’

以上两步可以打开终端,输入下列命令代替:

mkdir test_pcl
cd test_pcl
mkdir build
cd build

2.在文件夹‘test_pcl’内编写文件

2.1.打开文件夹‘test_pcl’

2.2.新建文件:test_pcl.cpp

并写入下列代码

#include <iostream>
#include <pcl/common/common_headers.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/console/parse.h>
 
int main(int argc, char **argv) {
  std::cout << "Test PCL !" << std::endl;
  pcl::PointCloud<pcl::PointXYZRGB>::Ptr point_cloud_ptr (new pcl::PointCloud<pcl::PointXYZRGB>);
  uint8_t r(255), g(15), b(15);
  for (float z(-1.0); z <= 1.0; z += 0.05) {
  	for (float angle(0.0); angle <= 360.0; angle += 5.0) {
      pcl::PointXYZRGB point;
      point.x = 0.5 * cosf (pcl::deg2rad(angle));
      point.y = sinf (pcl::deg2rad(angle));
      point.z = z;
      uint32_t rgb = (static_cast<uint32_t>(r) << 16 | static_cast<uint32_t>(g) << 8 | static_cast<uint32_t>(b));
      point.rgb = *reinterpret_cast<float*>(&rgb);
      point_cloud_ptr->points.push_back (point);
    }
    if (z < 0.0) {
      r -= 12;
      g += 12;
    }
    else {
      g -= 12;
      b += 12;
    }
  }
  
  point_cloud_ptr->width = (int) point_cloud_ptr->points.size ();
  point_cloud_ptr->height = 1;

  pcl::visualization::CloudViewer viewer ("test");
  viewer.showCloud(point_cloud_ptr);
  while (!viewer.wasStopped()){ };
  return 0;
}

2.3.新建文件:CMakeLists.txt

写入下列代码

cmake_minimum_required(VERSION 2.6)
project(test_pcl)

find_package(PCL 1.2 REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

add_executable(test_pcl test_pcl.cpp)

target_link_libraries (test_pcl ${PCL_LIBRARIES})

install(TARGETS test_pcl RUNTIME DESTINATION bin)

3.编译运行

3.1.进入‘test_pcl’文件夹,再进入‘build’文件夹

3.2.打开终端,输入:

cmake ..
make
./test_pcl

4.最终得到以下结果

使用鼠标滑轮可以改变大小,按住鼠标左右键进行拖动可以改变图形方向

(注:本demo可正常运行不代表pcl库没有缺少的依赖)



版权声明:本文为weixin_49472404原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。