Ubuntu16.04下安装PCL1.7并测试(含视频安装过程记录)

☛☛ 视频安装过程记录 ☚☚

1.更新源

sudo apt-get update

2.安装cmake

sudo apt-get install cmake

注:如果安装过,跳过就可以。

3.安装pcl

sudo apt-get install libpcl-dev pcl-tools libproj-dev

4.测试

  • Home目录下新建pcl_test文件夹
  • 进入文件夹,新建CMakeLists.txt、pcl_test.cpp文件,内容见附录
  • pcl_test文件夹下,再新建build文件夹,进入build文件夹,右键打开终端,依次执行下面命令
cmake ..
make
./pcl_test

                      

结果如下:

                               

5.附录

CMakeLists.txt内容如下:

cmake_minimum_required(VERSION 2.6)
project(pcl_test)

find_package(PCL 1.2 REQUIRED)

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

list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")
add_executable(pcl_test pcl_test.cpp)

target_link_libraries (pcl_test ${PCL_LIBRARIES})

install(TARGETS pcl_test RUNTIME DESTINATION bin)

注:add_executable()前一定加上 list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")                            

 pcl_test.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;
}

6.写在后面

试过源码安装,先安装那14条依赖项 ,再git clone ...,但网速太慢,一直卡在这里,失败;

试过官网以及《视觉SLAM14讲》上的ppa安装方式(三条安装命令),但会卡在sudo apt-get update,而且第三条中libpcl-all也不是Ubuntu16.04中的包,可能这三条指令适合14.04版本安装,并不适合16.04版本;

试过github上下载pcl包,解压到Home目录并进行编译,但测试程序找不到pcl_visualizer.h头文件,但PCL中确实有这个头文件,这个错误原因是,能测试成功的,pcl_visualizer.h头文件是直接在pcl->visualization中,而直接从github上下载的包,pcl_visualizer.h头文件在pcl->visualization->include->pcl->visualization中,所有的头文件均有次差异,不好修改,失败。

多次摸索,终寻得此法,遂记录下来,以备后查!

发布了34 篇原创文章 · 获赞 26 · 访问量 7613

猜你喜欢

转载自blog.csdn.net/HHT0506/article/details/104439748