主要内容

projectLidarPointsOnImage

将激光雷达点云数据投影到图像坐标系上

描述

例子

imPts= projectLidarPointsOnImage (ptCloudInintrinsictform利用激光雷达传感器和相机之间的刚性转换,将激光雷达点云数据投影到图像坐标系上,tform,以及一组相机的固有参数,intrinsic.输出imPts包含投影点在图像框架中的二维坐标。

imPts= projectLidarPointsOnImage (worldPointsintrinsictform将激光雷达点(指定为世界坐标系中的三维坐标)投影到图像坐标系上。

imPts指数) = projectLidarPointsOnImage (___使用前面语法中的输入参数的任意组合返回点云中投影点的线性索引。

___) = projectLidarPointsOnImage (___名称,值除了前面语法中的参数组合外,还使用一个或多个名称-值对参数指定选项。例如,“图象尺寸”,(250 400)设置要投射点的图像的大小为250 × 400像素。

例子

全部折叠

从mat文件加载地面真实数据到工作空间。从地面真实数据中提取图像和点云数据。

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

从地面真实数据中提取相机的固有参数。

intrinsic = gt.camParams;

从地面真实数据中提取相机到激光雷达的变换矩阵,并进行反变换得到激光雷达到相机的变换矩阵。

tform =反转(gt.tform);

下采样点云数据。

p1 = pcdownsample(电脑,“gridAverage”, 0.5);

将点云投影到图像框架上。

imPts = projectLidarPointsOnImage (p1, intrinsic tform);

将投影点叠加在图像上。

图imshow (img)情节(imPts (: 1) imPts (:, 2),“。”“颜色”“r”)举行

图中包含一个轴对象。axis对象包含两个类型为image, line的对象。

输入参数

全部折叠

点云,指定为pointCloud对象。

世界坐标系中的点,指定为3矩阵或——- - - - - -N3数组。如果指定-by-3矩阵,每一行包含一个未组织的点云中的一个点的三维世界坐标点。如果指定——- - - - - -N3数组,N表示有组织点云中的行数和列数。数组的每个通道都包含该点的三维世界坐标。

数据类型:|

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

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

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“图象尺寸”,(250 400)设置要投射点的图像的大小为250 × 400像素。

选择用于在图像坐标系上投影的索引,指定为逗号分隔对,由“指标”一个正整数向量。

数据类型:|

点投影在其上的图像的大小,指定为逗号分隔对组成“图象尺寸”以及形式为[宽度高度以像素为单位。该函数使用指定的尺寸来过滤掉不在相机视野内的投影点。

如果不指定“图象尺寸”参数,则函数使用图象尺寸属性来自相机固有参数intrinsic来估计相机的视场。

请注意

如果指定“图象尺寸”参数大于默认参数,则函数使用默认参数。

数据类型:|

输出参数

全部折叠

投影在图像上的点,返回为2矩阵。每行包含二维坐标,格式为[xy,图像框中的一个点。

数据类型:|

点云的投影点的线性索引,返回为正整数向量。

数据类型:|

扩展功能

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

介绍了R2020b