20、使强度信息渲染点云颜色

2024-03-01 03:08

本文主要是介绍20、使强度信息渲染点云颜色,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PCD_ins.cpp

//头文件可能有冗余
#include <iostream>
#include <pcl/point_types.h>
#include <pcl/io/ply_io.h>
#include <pcl/io/io.h>
#include<pcl/point_cloud.h>
#include<pcl/io/pcd_io.h>//which contains the required definitions to load and store point clouds to PCD and other file formats.
#include <iostream>
#include <pcl/point_types.h>
#include <pcl/io/ply_io.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/io/io.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/filters/filter.h>
#include <pcl/filters/voxel_grid.h>
#include <pcl/filters/passthrough.h>
#include <pcl/filters/statistical_outlier_removal.h>
#include <pcl/filters/extract_indices.h>
#include <pcl/filters/crop_box.h>using namespace std;
using namespace pcl;
using namespace io;void ground_filter(const pcl::PointCloud<pcl::PointXYZI>::Ptr& pc_in, pcl::PointCloud<pcl::PointXYZI>::Ptr& pc_out){pcl::PassThrough<pcl::PointXYZI> pass;pass.setInputCloud (pc_in);pass.setFilterFieldName ("z");pass.setFilterLimits (-0.9, 30.0);pass.filter (*pc_out);
}int main() {PointCloud<PointXYZI>::Ptr cloud(new PointCloud<PointXYZI>);PointCloud<PointXYZI>::Ptr cloud_out(new PointCloud<PointXYZI>);if (io::loadPCDFile("/home/sweetorange/octomaps/octomap_a/octomap_tutor-master/data/sample.pcd", *cloud) == -1){ cerr << "can't read file bunny.pcd" << endl;return -1;}ground_filter(cloud,cloud_out);cloud = cloud_out;shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("3D Viewer"));viewer->setBackgroundColor(0, 0, 0);viewer->setWindowName("Point clouds are shown by intensity"); // 按照intensity字段进行渲染pcl::visualization::PointCloudColorHandlerGenericField<pcl::PointXYZI> fildColor(cloud,"intensity");viewer->addPointCloud<pcl::PointXYZI>(cloud,fildColor,"sample cloud");viewer->addText("Point clouds are shown by intensity", 50, 50,0,1,0, "v1_text");//viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "sample cloud"); // 设置点云大小,默认为1while (!viewer->wasStopped()){viewer->spinOnce(100);boost::this_thread::sleep(boost::posix_time::microseconds(100000));}return 0;
}

CMakeLists.txt:

cmake_minimum_required(VERSION 2.6)
project(PCD_ins)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O3")
add_compile_options(-std=c++11)
find_package(PCL 1.9 REQUIRED)include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})add_executable(PCD_ins PCD_ins.cpp)target_link_libraries (PCD_ins ${PCL_LIBRARIES})install(TARGETS PCD_ins RUNTIME DESTINATION bin)

终端执行:

mkdir build
cd build
cmake ..
make
./PCD_ins

使强度信息渲染点云颜色结果
在这里插入图片描述
提出地面后的强度渲染结果提出地面后的强度渲染

这篇关于20、使强度信息渲染点云颜色的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/761015

相关文章

20.Spring5注解介绍

1.配置组件 Configure Components 注解名称说明@Configuration把一个类作为一个loC容 器 ,它的某个方法头上如果注册7@Bean , 就会作为这个Spring容器中的Bean@ComponentScan在配置类上添加@ComponentScan注解。该注解默认会扫描该类所在的包下所有的配置类,相当于之前的 <context:component-scan>@Sc

通过高德api查询所有店铺地址信息

通过高德api查询所有店铺地址电话信息 需求:通过高德api查询所有店铺地址信息需求分析具体实现1、申请高德appkey2、下载types city 字典值3、具体代码调用 需求:通过高德api查询所有店铺地址信息 需求分析 查询现有高德api发现现有接口关键字搜索API服务地址: https://developer.amap.com/api/webservice/gui

PAT-1039 到底买不买(20)(字符串的使用)

题目描述 小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如,YrR8RrY是小红想做的珠串;那么ppRYYGrrYBR2258可以

改变背景颜色+碰撞检测

1.让类继承CCLayerColor比如 class HelloWorld:public cocos2d::CCLayerColor{ public : 在.cpp文件中 bool HelloWorld::init(){ if(!CCLayerColor::initWithColor(ccc4(255,255,255,25

ORACLE 、达梦 数据库查询指定库指定表的索引信息

在Oracle数据库中,索引是一种关键的性能优化工具,通过它可以加快数据检索速度。在本文中,我们将深入探讨如何详细查询指定表的索引信息,以及如何利用系统视图和SQL查询来获取这些信息。 索引在数据库中的重要性 索引是一种数据结构,用于加快数据库表中数据的检索速度。它类似于书籍的目录,可以帮助数据库引擎快速定位数据行,特别是在大型数据集合下,其作用尤为显著。 查询指定表的索引信息 在Orac

HTML(20)——定位

定位 作用:灵活的改变盒子在网页中的位置 实现: 定位模式:position边偏移:设置盒子的位置 leftrighttopbottom 相对定位 position:relative 改变位置的参照物是自己原来的位置,并且不脱标占位,标签显示模式特点不变 绝对定位 position:absolute 使用场景:子级绝对定位,父级相对定位  脱标不占位参照物:先找最近的已经

自动驾驶---Perception之Lidar点云3D检测

1 背景         Lidar点云技术的出现是基于摄影测量技术的发展、计算机及高新技术的推动以及全球定位系统和惯性导航系统的发展,使得通过激光束获取高精度的三维数据成为可能。随着技术的不断进步和应用领域的拓展,Lidar点云技术将在测绘、遥感、环境监测、机器人等领域发挥越来越重要的作用。         目前全球范围内纯视觉方案的车企主要包括特斯拉和集越,在达到同等性能的前提下,纯视觉方

C++20中的Feature Test Mocros

C++20定义了一组预处理器宏,用于测试各种语言和库的feature。       Feature Test Mocros(特性测试宏)是C++20中引入的一种强大机制,用于应对兼容性问题。Feature Test Mocros作为预处理器指令(preprocessor directives)出现,它使你能够在编译过程中仔细检查特定语言或库功能(particular language

Vue3的Teleport:Teleport是Vue3的一个新功能,它允许我们将子组件渲染到父组件以外的地方,这在处理模态框、弹出窗口等情况时非常有用

I. Teleport 的概述 Teleport 的定义:   在 Vue 3.0 中,Teleport 是一个新的内置组件,它允许我们将任何部分的渲染内容 Teleport(传送)到 Vue 应用范围之外的地方。 换句话说,你可以控制片段,让它们在 DOM 中的任何位置渲染,而不仅仅是在当前组件内部。   Teleport 的效用和应用场景:   Teleport 的主要用途是处理在 UI