☛☛ 视频安装过程记录 ☚☚
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中,所有的头文件均有此差异,不好修改,失败。
多次摸索,终寻得此法,遂记录下来,以备后查!