主要内容

fuseCameraToLidar

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

描述

云散=fuseCameraToLidar(,ptCloudIn,intrinsic)融合图像中的信息,,到指定的点云,ptCloudIn,使用相机固有参数,intrinsic

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

实例

云散=fuseCameraToLidar(,ptCloudIn,intrinsic,tform)使用相机到激光雷达刚性变换tform在将点云融合到图像信息之前,将其引入图像帧。当点云数据不在相机坐标帧中时,请使用此语法。

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

[云散,colormap]=fuseCameraToLidar(___)返回点的颜色colormap融合的点云。

[云散,colormap,指数]=fuseCameraToLidar(___)返回融合点云中位于相机视野内的点的线性索引,以及来自先前语法的输出参数。

例子

全部折叠

将包含地面实况数据的MAT文件加载到工作区。从数据中提取图像和点云。

dataPath公司= fullfile (toolboxdir (“激光雷达”),“利达达达”,“lcc”,“sampleColoredPtCloud.mat”);gt=load(数据路径);im=gt.im;ptCloud=gt.ptCloud;

绘制提取的点云。

pcshow(ptCloud)标题(“原始点云”)

图中包含轴。标题为“原始点云”的轴包含散射类型的对象。

从地面真实数据中提取激光雷达到摄像机的变换矩阵和摄像机的固有参数。

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

将图像融合到点云上。

ptCloudOut=fuseCameraToLidar(im、ptCloud、intrinsics、camToLidar);

可视化融合点云。

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

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

输入参数

全部折叠

彩色或灰度图像,指定为H——- - - - - -W——- - - - - -C大堆

  • H-指定图像的高度。

  • W-这将指定图像的宽度。

  • C-指定图像中颜色通道的数量。该函数最多支持图像中的三个颜色通道。万博1manbetx

数据类型:仅有一个的||int16|uint8|uint16

点云,指定为pointCloud对象。

摄影机内部参数,指定为cameraIntrinsics对象。

相机到激光雷达的刚性变换,指定为刚性三维对象。

摄影机视野外点的颜色规范,指定为颜色名称、短颜色名称或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对象。

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

  • M-by-3矩阵-用于无组织点云

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

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

数据类型:uint8

相机视野中融合点云点的线性索引,作为正整数向量返回。

数据类型:仅有一个的|

扩展能力

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

在R2020b中引入