主要内容

projectlidarpointsonimage.

将LIDAR点云数据投影到图像坐标帧

描述

示例

Impts.= projectlidarpointsonimage(ptcloudin内在机构tform.将LIDAR点云数据将LIDAR传感器和相机之间的刚性变换投影到图像坐标框架上,tform.,以及一组相机内在参数,内在机构。输出Impts.包含图像框中投影点的2-D坐标。

Impts.= projectlidarpointsonimage(世界观点内在机构tform.将LIDAR点投影,在世界框架中指定为3-D坐标,到图像坐标框架。

[Impts.指数] = projectlidarpointsonimage(___使用先前语法中的任何输入参数组合返回点云中投影点的线性指标。

[___] = projectlidarpointsonimage(___名称,价值除了以前语法中的任何参数组合之外,使用一个或多个名称值对参数指定选项。例如,'拍摄',[250 400]设置将点投影到250×400像素的图像的大小。

例子

崩溃

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

datapath = fullfile(toolboxdir('lidar'),'lidardata''LCC''samplecoloredptcloud.mat');gt = load(datapath);img = gt.im;PC = gt.ptcloud;

从地面真实数据中提取相机内部参数。

内在= gt.camparams;

从地面真理数据中提取相机到LIDAR转换矩阵,并反转以找到激光器到相机变换矩阵。

tform =反转(gt.tform);

拆下点云数据。

P1 = PCDownSample(PC,'gridaverage',0.5);

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

Impts = ProjectLidarPointsonImage(P1,内在,TForm);

覆盖图像上的投影点。

图imshow(img)持有情节(IMPTS(:,1),IMPTS(:2),'。''颜色''r'抱紧关闭

图包含轴。轴包含2个类型图像的对象,线。

输入参数

崩溃

点云,指定为apointcloud.对象。

在世界坐标框架中指定为一个点m-By-3矩阵或m-N-By-3阵列。如果您指定了一个m-By-3矩阵,每行包含一个包含的一个点的三维世界坐标,其中包含的无组织云m总计点。如果您指定了一个m-N-By-3阵列,mN分别代表有组织点云中的行和列数。阵列的每个通道包含该点的三维世界坐标。

数据类型:单身|双人间

相机内在参数,指定为a摄像头对象。

激光器到相机刚性变换,指定为arigid3d.对象。

名称值对参数

指定可选的逗号分离对名称,价值论点。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

示例:'拍摄',[250 400]设置将点投影到250×400像素的图像的大小。

选择投影到图像坐标帧的指标,指定为逗号分隔对'索引'和正整数的矢量。

数据类型:单身|双人间

投影点的图像的大小,指定为逗号分隔对组成'图像化'和表格的两个元素行矢量[宽度高度]以像素为单位。该函数使用指定的尺寸过滤掉不在相机视野中的投影点。

如果你不确定'图像化'参数,那函数使用图像化来自相机内在参数的属性内在机构估计相机的视野。

注意

如果您指定了一个'图像化'参数大于默认参数,然后函数使用默认参数。

数据类型:单身|双人间

输出参数

崩溃

投射在图像上的积分,作为一个返回m- 2矩阵。每行包含2-D坐标,表单中[X.y,图像框架中的一个点。

数据类型:单身|双人间

点云的投影点的线性指标,作为正整数的矢量返回。

数据类型:单身|双人间

扩展能力

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

在R2020B中介绍