
点云&PCL
W_Tortoise
专注,低调,精进。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用正态分布变换(NDT)算法对点云进行配准
目录代码解释说明编译和运行参考在本教程中,我们将介绍如何使用正态分布变换(NDT)算法来确定两个大规模点云(都超过100,000个点)之间的刚性变换。NDT算法是一种配准算法,其使用应用于3D点的统计模型的标准优化技术来确定两个点云之间的最可能的配准。因为其在配准过程中不依赖对应点的特征计算和匹配,所以效率高。有关NDT算法内部工作原理的更多信息,请参阅Martin Magnusson博士的博士...原创 2019-08-07 11:36:50 · 3867 阅读 · 1 评论 -
点云配准与匹配
配准与匹配是在两个数据集中寻找共同的结构或特征,然后利用它们将数据集拼接到一起。PCL提供了迭代最近点算法执行配准与匹配。源文件pcl_matching.cpp:#include <ros/ros.h>#include <pcl/point_cloud.h>#include <pcl/registration/icp.h>#include <p...原创 2019-04-18 19:42:35 · 5838 阅读 · 3 评论 -
点云滤波和缩减采样
当尝试处理点云时,可能会遇到两个问题:过多的噪声太大的密度前者导致算法错误地解释数据,并导致不正确或不准确的结果;后者则使算法花费很多时间去完成运算。滤波创建一个节点,负责过滤pcl-output主题中产生的点云离群值,并且通过pcl_filtered主题将他们发送回来。源文件pcl_filter.cpp:#include <ros/ros.h>#include &...原创 2019-04-18 19:06:04 · 2097 阅读 · 0 评论 -
可视化点云
PCL提供了几种方法来可视化点云,其中最简单的方法是通过点云查看器。目的创建一个节点用来订阅sensor_msgs/PointCloud2,这个节点会使用库中的cloud_viewer(basic)来显示sensor_msgs/PointCloud2。代码源文件pcl_visualize.cpp:#include <iostream>#include <ros/ros...原创 2019-04-01 19:30:01 · 3901 阅读 · 2 评论 -
加载和保存点云到硬盘
目的加载PCD文件并将点云结果发布为ROS消息。代码源文件pcl_read.cpp:#include <ros/ros.h>#include <pcl/point_cloud.h>#include <pcl_conversions/pcl_conversions.h>#include <sensor_msgs/PointCloud2.h>...原创 2019-04-01 19:26:22 · 669 阅读 · 0 评论 -
创建点云
目的创建仅由随机的点组成的PCL点云,并且这个PCL点云最终会通过一个/pcl_output的主题发布出去。代码源文件pcl_create.cpp:#include <ros/ros.h>#include <pcl/point_cloud.h>#include <pcl_conversions/pcl_conversions.h>#include ...原创 2019-03-30 14:24:40 · 2153 阅读 · 0 评论 -
第一个PCL程序
1.创建ROS软件包在工作空间创建一个ROS软件包,这个软件包依赖于pcl_conversions、pcl_ros、pcl_msgs和sensor_msgs包:$ catkin_create_pkg chapter6_tutorials pcl_conversions pcl_ros pcl_msgs sensor_msgs在软件包中创建一个源文件目录:$ rospack profile...原创 2019-03-30 13:06:41 · 1385 阅读 · 0 评论 -
点云处理——将点云转换为鸟瞰图
写在前面最近在求职,发现激光雷达就业机会更多,而且我在这方面基础相对薄弱些,所以打算补一补。只要开始,就不晚。这是一篇英文博客翻译,内容是将点云数据转换成鸟瞰图,虽然优快云上已经有翻译,但我还是想自己过一遍,以加深理解。接下来我要好好学学PCL!点云数据点云数据可以表示为具有N行和至少3列的numpy数组。每行对应一个点,其在空间中的位置至少使用3个值表示,即(x,y,z)。如果...原创 2019-03-26 21:48:30 · 18564 阅读 · 16 评论 -
点云处理——将激光雷达数据投影到二维图像
“前视图”投影为了将激光雷达传感器的“前视图”展平为2D图像,必须将3D空间中的点投影到可以展开的圆柱形表面上,以形成平面。以下代码改编自论文:Vehicle Detection from 3D Lidar Using Fully Convolutional Network# h_res = horizontal resolution of the lidar sensor# v_re...原创 2019-03-27 12:39:15 · 22051 阅读 · 16 评论 -
理解点云库
写在前面说好了要学习点云处理,那就从基础做起,我将根据《ROS机器人程序设计》中点云部分的内容写一系列学习笔记。完成后,再学习点云库PCL进阶。理解点云库点云是由飞行时间(Time of Flight)摄像头和激光扫描仪在3D空间采集的有限点集构成的。点云库(PCL)提供了大量数据类型和数据结构,不仅能方便的表示采样空间中的点,而且可以表示采样空间的不同属性,比如颜色、法向量等。PCL同...原创 2019-03-30 00:34:23 · 1761 阅读 · 0 评论