主要内容

writeFrames

将地面真实数据写入磁盘的信号帧

描述

文件名= writeframes(GTRUTH.信号名称地点将地面真实信号源的帧写入指定的文件夹位置。该函数返回包含写入框架的文件的名称。文件名包含每个信号指定的一个文件名信号名称TroundtruthmultiSignal.由指定的对象GTRUTH.

使用这些书面框架和从gatherLabelData作为机器学习或深度学习模型的训练数据。

例子

文件名= writeframes(GTRUTH.信号名称地点时间戳指定要写入的信号帧的时间戳。要获取信号时间戳,请使用gatherLabelData函数。

文件名= writeframes(___名称,值除了从先前语法中的任何输入参数组合之外,使用一个或多个名称值对参数指定选项。例如,您可以指定书面帧的文件名的前缀和文件类型扩展名。

例子

全部折叠

从a中收集视频信号的标签数据和LIDAR点云序列信号TroundtruthmultiSignal.对象。将与该标签数据相关联的信号帧写入磁盘并可视化这些帧。

将点云序列文件夹路径添加到MATLAB®搜索路径。视频已经在MATLAB搜索路径上。

pcSeqDir = fullfile (toolboxdir (“开车”),“drivingdata”......'lidarsequence'); addpath(pcSeqDir);

加载一个TroundtruthmultiSignal.对象,该对象包含视频和激光雷达点云序列的标签数据。

data =负载('multiSignalgtruth.mat'); gTruth=data.gTruth;

指定收集标签数据的信号。

signalNames = [“video_01_city_c2s_fcw_10s”“lidarSequence”];

该视频包含矩形标签,而LIDAR点云序列包含多维数据单标签。从LIDAR点云序列收集视频和长方体标签的矩形标签。

labeltypes = [labeltype.rectangle labeltype.cuboid];[Labeldata,Timestamps] = GatherLabeldAta(GTRUTH,信号名称,标签型);

显示两个信号的前八行标签数据。这两个信号都包含该信号的数据汽车标签。在视频中汽车标签被绘制为矩形边界框。在激光乐队点云序列中,汽车标签被绘制为长方体边界框。

lidarLabelSample = head(labelData{2})
videolabelsample =表_________________ {[299 213 42 33]} Lidarlabelsample =桌子________________________________________________ {[17.7444 6.7386 3.3291 3.6109 3.2214 3.5583 0 0 0]}

将与收集的标签数据相关联的信号帧到临时文件夹位置,每个信号一个文件夹。使用由返回的时间戳gatherLabelData功能指示要写入的信号帧。

outputFolder = fullfile (tempdir, (“videoFrames”“激光雷达框架”]);文件名= writeFrames (gTruth, signalNames outputFolder,时间戳);
从以下信号写入2帧

加载写入的视频信号帧使用图像数据存储对象。控件加载关联的矩形标签数据boxLabelDatastore对象。

imd = imageDatastore(文件名{1});建筑物= boxLabelDatastore (labelData {1});

通过使用fileDatastore对象。使用a加载关联的长方体标签数据boxLabelDatastore对象。

fds=文件数据存储(文件名{2},“ReadFcn”,@ pcread);clds = boxlabeldataStore(Labeldata {2});

通过使用视频播放器对象。通过使用一个PCPlayer.对象。

VideoPlayer = Vision.videoplayer;ptcloud = preview(fds);ptcloudplayer = pcplayer(ptcloud.xlimits,ptcloud.ylimits,ptcloud.zlimits);hasdata (imd)读取视频和激光雷达帧。我=读(IMDS);ptcloud =读取(FDS);%可视化视频和LIDAR帧。videoplayer(i);查看(PTCloudPlayer,PtCloud);结束

删除点云序列文件夹的路径。

rmpath(pcseqdir);

输入参数

全部折叠

多信号地面真实数据,指定为TroundtruthmultiSignal.对象或矢量TroundtruthmultiSignal.对象。

写入框架的信号的名称,指定为字符向量,字符串标量,字符向量或字符串向量。信号名称必须是存储在输入多功能地面真实数据中的有效信号名称,GTRUTH.

获取信号名称的方法TroundtruthmultiSignal.对象,使用此语法,其中GTRUTH.是对象的变量名:

gTruth.DataSource.SignalName

例子:'video_01_city_c2s_fcw_10s'

例子:“video_01_city_c2s_fcw_10s”

例子:{“video_01_city_c2s_fcw_10s”、“lidarSequence”}

例子:[“video_01_city_c2s_fcw_10s”“lidarsequence”]

要将帧写入的文件夹位置,指定为-借-N字符串或矩阵-借-N字符向量的单元格数组,其中:

  • 你的电话号码是多少TroundtruthmultiSignal.对象GTRUTH.

  • N信号的数量是多少信号名称

  • 位置(m, n)(用于矩阵输入)或位置{m,n}(对于单元阵列输入)包含用于nth的信号信号名称那是TroundtruthmultiSignal.的对象GTRUTH.

您可以将文件夹位置指定为相对路径或完整文件路径。如果指定的文件夹位置不存在,则writeFrames函数创建文件夹。所有文件夹位置必须是唯一的。如果文件已经存在于指定的文件夹位置,并且现有的文件是可写的,则writeFrames功能覆盖它们。

要写入的帧的时间戳,指定为持续时间矢量或an-借-N单元阵列的持续时间vectors,其中:

  • 你的电话号码是多少TroundtruthmultiSignal.对象GTRUTH.

  • N信号的数量是多少信号名称

  • 时间戳{m, n}包含时间戳nth的信号信号名称那是TroundtruthmultiSignal.的对象GTRUTH.

如果你只写一个信号的帧TroundtruthmultiSignal.对象,指定时间戳作为一个单身持续时间矢量。

默认情况下,writeFrames函数写入所有信号帧。当信号在指定时间戳处没有帧时,该功能将帧与最近的前时间戳写入。

名称-值对的观点

指定可选的逗号分隔的对名称,值论据。姓名参数名和价值是相应的价值。姓名必须出现在引号内。可以以任意顺序指定多个名称和值对参数名称1,值1,…,名称,值

例子:“名称前缀”、[“视频”“激光雷达”]、“文件类型”、[“png”“ply”]使用格式的文件名写入视频帧video_001.pngvideo_002.png等等,并使用格式的文件名写Lidar帧lidar_001.ply.lidar_002.ply, 等等。

每个信号的文件名前缀信号名称,指定为逗号分隔的对,由'nameprefix'以及字符向量、字符串标量、字符向量的单元数组或字符串向量。

的每个元素'nameprefix'的对应位置的信号的文件类型信号名称.默认情况下,'nameprefix'是每个信号的名称信号名称

每个信号的文件类型信号名称,指定为逗号分隔的对,由“文件类型”以及字符向量、字符串标量、字符向量的单元数组或字符串向量。

的每个元素“文件类型”的对应位置的信号的文件类型信号名称.使用此名称值对参数指定书面文件名中的文件扩展。

信号支持金宝app的文件类型取决于该信号是否具有该类型图像或者pointcloud.

信号类型 金宝app支持的文件类型
图像 支持的所有文件类型金宝appIMWRITE.功能
pointcloud.

“PCD”或者“普利”

使用二进制编码写入点云数据(PCD)和多边形(PLY)文件。有关这些文件格式的更多详细信息,请参阅PCWRITE.函数。

中存储的信号类型TroundtruthmultiSignal.目的,GTRUTH.,使用此代码:

gTruth.DataSource.SignalType

例子:“文件类型”、“png”

例子:'filetype',“png”

例子:'filetype',{'png','ply'}

例子:'文件类型',[“png”“ply”]

在MATLAB中显示写进度信息®命令行,指定为逗号分隔的对,由'verbose'合乎逻辑1真的)或0).

输出参数

全部折叠

书面帧的文件名,返回为-借-N单元格数组的字符串向量,其中:

  • 你的电话号码是多少TroundtruthmultiSignal.对象GTRUTH.

  • N信号的数量是多少信号名称

  • 文件名{m,n}包含框架的文件名nth的信号信号名称那是TroundtruthmultiSignal.的对象GTRUTH.

每个信号的文件名以字符串列向量的形式返回,其中每一行包含写入帧的文件名。如果您指定了输入时间戳,则每个文件名表示时间戳对应位置的写入帧时间戳

每个输出文件都被命名名称普雷维克斯_UID文件类型, 在哪里:

  • 名称普雷维克斯是文件名前缀。要设置文件名前缀,请使用'nameprefix'名称-值对的论点。

  • UID是每个写入帧的唯一整数索引。的writeFrames函数生成这些指标。

  • 文件类型文件类型扩展名。要设置文件类型扩展名,请使用“文件类型”名称-值对的论点。

介绍了R2020a