主要内容

fuseCameraToLidar

将图像信息融合到激光雷达点云

描述

ptCloudOut= fuseCameraToLidar (ptCloudInintrinsic融合图像的信息,到一个特定的点云,ptCloudIn,利用相机的固有参数,intrinsic

函数对融合点云进行裁剪,ptCloudOut,这样它只包含摄像机视场内的点。

例子

ptCloudOut= fuseCameraToLidar (ptCloudInintrinsictform利用相机对激光雷达进行刚性变换tform在将点云与图像信息融合之前,先将点云带入图像帧。当点云数据不在摄像机坐标系中时使用此语法。

ptCloudOut= fuseCameraToLidar (___nonoverlapcolor返回与输入点云大小相同的融合点云。函数使用指定的颜色nonoverlapcolor对于摄像机视场之外的点,以及来自前面语法的输入参数的任何组合。

ptCloudOutcolormap) = fuseCameraToLidar (___返回点的颜色colormap熔融点云。

ptCloudOutcolormap指数) = fuseCameraToLidar (___除了先前语法的输出参数外,还返回摄像机视场中的融合点云中的点的线性索引。

例子

全部折叠

将一个包含ground truth数据的mat文件加载到工作区中。从数据中提取图像和点云。

dataPath公司= fullfile (toolboxdir (激光雷达的),“lidardata”低成本航空的“sampleColoredPtCloud.mat”);gt =负载(dataPath公司);我= gt.im;ptCloud = gt.ptCloud;

绘制提取的点云。

pcshow (ptCloud)标题(原始点云的

图中包含一个轴对象。标题为Original Point Cloud的轴对象包含一个类型为scatter的对象。

从地面真实数据中提取激光雷达到相机的变换矩阵和相机的内在参数。

intrinsic = gt.camParams;camToLidar = gt.tform;

将图像融合到点云上。

ptCloudOut = fuseCameraToLidar (im, ptCloud intrinsic camToLidar);

设想融合点云。

pcshow (ptCloudOut)标题(彩色点云的

图中包含一个轴对象。标题为“彩色点云”的轴对象包含一个散点类型的对象。

输入参数

全部折叠

彩色或灰度图像,指定为H——- - - - - -W——- - - - - -C数组中。

  • H-指定图像的高度。

  • W-指定图像的宽度。

  • C-指定图像中颜色通道的数量。该函数支持图像中最多三个颜金宝app色通道。

数据类型:||int16|uint8|uint16

点云,指定为pointCloud对象。

相机的固有参数,指定为cameraIntrinsics对象。

摄像机到激光雷达的刚性变换,指定为rigid3d对象。

相机视场外点的颜色规范,指定为颜色名称、短颜色名称或RGB三元组。

对于自定义颜色,指定一个RGB三元组。RGB三元组是一个由三个元素组成的行向量,其元素指定颜色的红色、绿色和蓝色组件的强度。强度必须在这个范围内[0, 1];例如,(0.4 0.6 0.7).或者,您可以通过名称指定一些常见的颜色。这个表格列出了命名的颜色选项和等价的RGB三元组值。

颜色名称 颜色的短名称 RGB值 外观
“红色” “r” (1 0 0)

“绿色” ‘g’ (0 1 0)

“蓝” “b” (0 0 1)

“青色” “c” (0 1 1)

“红色” “米” (1 0 1)

“黄色” “y” (1 1 0)

“黑” “k” (0 0 0)

“白色” ' w ' (1 1 1)

数据类型:||字符

输出参数

全部折叠

融合点云,返回为pointCloud对象。

点云颜色地图,作为以下选项之一返回:

  • -by-3 matrix -用于无组织的点云

  • ——- - - - - -N-by-3数组-用于有组织的点云

该阵列的矩阵或通道的每一行都包含点云中对应点的RGB三元组。函数将它们作为范围内的实值返回[0 1].如果不指定anonoverlapcolor参数,则相机视场外点的颜色值为(0 0 0)(黑色)。

数据类型:uint8

摄像机视场中融合点云点的线性指数,返回为正整数向量。

数据类型:|

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

介绍了R2020b