PCL官方demo的编译使用教程

写在前面

  • 本文内容
    PCL官方demo的编译使用教程;
    后续对PCL demo中比较常用的算法、应用demo会出专门的博客讲解、拓展;
    更多点云基础、算法相关内容请关注专栏:
    点云处理基础
    点云配准(PointCloud Registration)
    Open3D点云处理
    PCL点云处理
    点云算法

  • 平台/环境
    Windows10, Visual Studio 2019+, CMake 3.18+;
    通过CMake构建项目,Linux可用;

  • 转载请注明出处:
    https://blog.csdn.net/qq_41102371/article/details/136529169

目录

  • 写在前面
  • 准备PCL
  • PCL Demo使用
    • PCL官方文档
    • 本地源码
    • 全部编译
    • 单个编译
  • 参考

准备PCL

参考各个版本的Open3D、PCL的编译、使用教程
本文使用PCL1.14.0PCL1.14.0安装、使用教程

PCL Demo使用

PCL官方文档

https://pcl.readthedocs.io/projects/tutorials/en/master/index.html

本地源码

找到本地PCL安装路径的相关源码,在YOUR_PATH/PCL 1.14.0/share/doc/pcl-1.14/tutorials/sources
在这里插入图片描述
在这里插入图片描述
用VsCode打开tutorials目录
在这里插入图片描述

全部编译

source路径下有一个CMakeLists.txt,已经把所有的demo都包含进来了,因此可以用脚本编译全部demo
在tutorials下新建一个compile.bat,内容是:

cmake -DCMAKE_BUILD_TYPE=Release ^
-DPCL_DIR="D:/carlos/install/PCL 1.14.0/cmake" ^
-S ./sources -B ./buildcmake --build ./build --config Release --target ALL_BUILD

在这里插入图片描述
改一下CMakeLists.txt,把一些编译不过的注释掉,编译不过的几个程序主要的原因是安装的PCL里面缺少openni的一个头文件:openni_grabber.h,报错:
fatal error C1083: 无法打开包括文件: “pcl/io/openni_grabber.h”

CMakeLists.txt内容如下:

cmake_minimum_required(VERSION 3.5 FATAL_ERROR)project("PCL_Tutorials")foreach(subdircloud_viewercluster_extractionconcatenate_cloudsconcatenate_fieldsconcatenate_pointsconcave_hull_2dconditional_removalconvex_hull_2dcorrespondence_groupingcylinder_segmentationextract_indices#feature_evaluationgreedy_projectionimplicit_shape_modeliterative_closest_pointkdtree_searchmin_cut_segmentationmoment_of_inertia# narf_descriptor_visualizationnarf_feature_extractionnarf_keypoint_extractionoctree_change_detectionoctree_search# openni_grabber# openni_narf_keypoint_extraction# openni_range_image_visualizationpassthroughpcd_readpcd_writepcl_visualizerplanar_segmentation# point_cloud_compressionproject_inliersradius_outlier_removalrandom_sample_consensusrange_image_border_extractionrange_image_creationrange_image_visualizationregion_growing_rgb_segmentationregion_growing_segmentationregistration_apiremove_outliersresamplingrops_featurestatistical_removalstick_segmentationsupervoxel_clusteringtemplate_alignmenttracking# vfh_recognitionvoxel_gridnormal_distributions_transform# # Additional/Complex tutorials presented at PCL events# iros2011# iccv2011normal_estimation_using_integral_images
)add_subdirectory(${subdir})endforeach()

然后开始编译
在这里插入图片描述

单个编译

单个编译,见PCL1.14.0安装、使用教程中demo部分

参考

文中已列出

主要做激光/影像三维重建,配准、分割等常用点云算法,熟悉open3d、pcl等开源点云库,技术交流、咨询可私信

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/726617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

boost.redis崩溃的解决方法

使用boost.redis的协程一定要co_spawn在strand对象中。 正确的用法: boost::asio::co_spawn(boost::dasio::make_strand(ioc),XXXCoroutine(),boost::asio::detached ); 错误的用法: boost::asio::co_spawn(ioc,XXXCoroutine(),boost::asio::detache…

极狐GitLab 16.3 重磅发布,极致的 DevOps 体验等你来【二】

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 极狐GitLab 在去年 8 月份发布了 16.3 版本。此次发布带来了价…

Python程序设计通常涵盖以下主题:

Python程序设计通常涵盖以下主题: 基础语法:包括变量、数据类型(如整数、浮点数、字符串、列表、元组、字典等)、条件语句、循环语句等。 函数:如何定义函数、传递参数、返回值等。 模块和包:如何导入和使…

【Office】Word、Excel 和 PowerPoint 中常用的一些快捷键

以下是 Microsoft Word、Excel 和 PowerPoint 的全部常用快捷键: Microsoft Word 快捷键: 常用快捷键: 新建文档:Ctrl N打开文档:Ctrl O保存文档:Ctrl S复制:Ctrl C粘贴:Ctrl …

Docker本地部署Redis容器结合内网穿透实现无公网ip远程连接

文章目录 前言1. 安装Docker步骤2. 使用docker拉取redis镜像3. 启动redis容器4. 本地连接测试4.1 安装redis图形化界面工具4.2 使用RDM连接测试 5. 公网远程访问本地redis5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定TCP地址远程访问 前言 本文主要介绍如何在Ub…

代码随想录算法训练营第23天

509. 斐波那契数 class Solution:def fib(self, n: int) -> int:if n 1:return 1if n 0:return 0 dp [0]*(n1)dp[1] 1for i in range(2,n1):dp[i] dp[i-1] dp[i-2]return dp[-1] 70. 爬楼梯 class Solution:def climbStairs(self, n: int) -> int:dp [0] * (n1)i…

Python与FPGA——局部二值化

文章目录 前言一、局部二值化二、Python局部二值化三、FPGA局部二值化总结 前言 局部二值化较全局二值化难,我们将在此实现Python与FPGA的局部二值化处理。 一、局部二值化 局部二值化就是使用一个窗口,在图像上进行扫描,每扫出9个像素求平均…

探索AI视频创新:Sora的奇迹

探索AI视频创新:Sora的奇迹 随着科技的不断演进,AI视频模型已经成为人工智能领域的一颗新星。在这场技术的风暴中,OpenAI的Sora模型以其杰出的性能和前瞻性的技术脱颖而出,正引领着AI视频领域的全新创新浪潮。 Sora的技术之光 …

【深度学习笔记】优化算法——小批量随机梯度下降

小批量随机梯度下降 到目前为止,我们在基于梯度的学习方法中遇到了两个极端情况: :numref:sec_gd中使用完整数据集来计算梯度并更新参数, :numref:sec_sgd中一次处理一个训练样本来取得进展。 二者各有利弊:每当数据非常相似时&a…

电脑蓝牙在哪里打开?不同系统详解

在现代计算机的多功能性中,蓝牙技术的广泛应用使得我们能够轻松连接各种外部设备,实现无线传输和分享。无论是连接无线耳机、键盘,还是与其他设备快速交换文件,蓝牙在电脑中的角色很重要。然而,对于一些用户而言&#…

centos7 使用rpm包部署filebeat

先决条件参考 虚拟机部署elasticsearch集群-CSDN博客 下载并安装filebeat的rpm包 curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.18-x86_64.rpmrpm -vi filebeat-7.17.18-x86_64.rpm 修改配置文件 配置文件内容可以参考 Repositories…

5G工业网关是什么?

随着科技的飞速发展,5G技术已经逐渐渗透到我们生活的方方面面。而在工业领域,5G工业网关作为连接工业设备与网络的关键组件,正发挥着越来越重要的作用。HiWoo Box其5G工业网关产品以其卓越的性能和稳定性,正助力企业实现数字化转型…

互联网面试突击算法-快速排序

快速排序(Quick Sort)是一种常用的高效排序算法,它采用了分治策略来实现排序。快速排序的基本思想是选择一个基准元素,将数组分割成两个子数组,其中一个子数组中的所有元素都小于基准元素,而另一个子数组中…

Hive动态分区静态分区

简述:分区是hive存放数据的一种方式,将列值作为目录来存放数据,就是一个分区,可以有多列。 这样查询时使用分区列进行过滤,只需根据列值直接扫描对应目录下的数据,不扫描不关心的分区,快速定位,提高查询效率。 hive的分区有两种类型: 静态分区SP(Static Partitionin…

互联网面试突击算法-基数排序

基数排序是一种非比较的排序算法,它根据元素的位数进行排序。它将整数按照位数(个位、十位、百位等)进行分组,然后分别对每个位数进行稳定的排序。通过多次按位排序,最终可以得到有序的结果。 基数排序的思想是从低位…

【异常处理】Vue报错 Component template should contain exactly one root element.

问题描述 启动VUE项目后控制台报错: Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead.翻译为:组件模板应该只包含一个根元素 查看vue代码&#xff0…

使用Unity Mock HMD模拟眼动追踪体验

在虚拟现实(VR)应用开发中,眼动追踪技术是提升用户体验的关键因素之一。它允许开发者创建更自然的交互方式,提升沉浸感。本文将介绍如何在Unity中使用Mock HMD来模拟眼动追踪,为没有实际眼动追踪硬件的开发者提供一种解决方案。 项目结构 首…

【Redis】Redis的应用场景

📝个人主页:五敷有你 🔥系列专栏:Redis ⛺️稳中求进,晒太阳 Redis的应用场景: 限流 要求10s内只能访问一次 RequestMapping("xian")public String xianLiu(String sign){String sign1 …

前端处理接口直接返回的图片

有时候接口会直接返回图片而不是连接&#xff0c;前端需要处理后才能使用。 首先你可能需要设置responseType: blob’处理响应数据格式。 直接使用 将接口及参数动态拼接成img.src直接使用 <img src"http://test.com/api/img?size50x50" alt"">i…

SpringBoot和Vue 实现增删改查、分页查询、模糊查询

文章目录 前言统一的设置返回类型Vue安装axios&#xff0c;封装request查询所有的用户前端页面请求后端接口编写 条件查询前台请求后台处理请求 分页查询前台发送请求后台接受请求 新增、编辑管理员信息前台后台 删除操作前台请求后台 前言 SpringBoot实现增删改查、分页查询、…