3、PCL 加载自己的点云数据集并显示出来
建立一个文件夹pclfirst在pclfirst文件夹下建立pclfirst.cpp,写入/*任何点云格式均可,不要求点云带有RGB字段*/#include <iostream>#include <pcl/point_types.h>#include <pcl/io/ply_io.h>#include<pcl/io/pcd_io.h>//pcd 读写
·
建立一个文件夹pclfirst
在pclfirst文件夹下建立pclfirst.cpp,写入
/*
任何点云格式均可,不要求点云带有RGB字段
*/
#include <iostream>
#include <pcl/point_types.h>
#include <pcl/io/ply_io.h>
#include<pcl/io/pcd_io.h>//pcd 读写类相关的头文件。
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/io/io.h>
using namespace std;
using namespace pcl;
using namespace io;
int main() {
PointCloud<PointXYZ>::Ptr cloud(new PointCloud<PointXYZ>);
char strfilepath[256] = "/home/tianchengyuan/exercise/pclfirst/twoDroneLocalization.pcd";//将自己的点云数据集的路径放在这里就可以了,我这里是一个校使馆的点云集
if (-1 == io::loadPCDFile(strfilepath, *cloud)) { // 读取.pcd文件
cerr << "can't read file bunny.pcd" << endl;//如果未找到
return -1;
}
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("3D Viewer"));
pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> single_color(cloud, 0,205,205 ); // green
viewer->addPointCloud<pcl::PointXYZ>(cloud, single_color, "sample cloud");
while (!viewer->wasStopped())
{
viewer->spinOnce(100);
boost::this_thread::sleep(boost::posix_time::microseconds(100000));
}
return 0;
}
在pclfirst文件夹下建立配置文件CMakeLists.txt,写入:
cmake_minimum_required(VERSION 2.6)
project(pclfirst)
find_package(PCL 1.2 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(pclfirst pclfirst.cpp)
target_link_libraries (pclfirst ${PCL_LIBRARIES})
install(TARGETS pclfirst RUNTIME DESTINATION bin)
然后再在pclfirst文件夹下建一个build文件夹。
开始编译:
1、在build文件夹中打开终端(在文件夹下右键+T)
2、终端输入
cmake ..
3、终端输入
make
4、终端输入
./pclfirst
至此,显示成功!
2020.12.20
今天发现来更加简单的方法:
可用pcl_viewer 查看:
pcl_viewer xxxx.pcd #xxxx.pcd 为文件名

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)