主要内容

ibeoMessageReader

对象,用于从中读取消息内容IbeoIDC (Data Container)文件

描述

ibeoMessageReader对象是Ibeo中消息的索引选择®国际数据公司(IDC)文件。该节点用于从IDC文件中读取消息内容。每一个ibeoMessageReader对象中仅包含所选类型的消息的内容ibeoFileReader对象。

创建

创建一个ibeoMessageReader对象,则使用选择的对象函数ibeoFileReader对象。

ibeoReader = ibeoFileReader('sample_data.idc');msgReader = select(ibeoReader,'image');

属性

全部展开

此属性是只读的。

IDC文件的绝对路径,指定为字符串标量。

此属性是只读的。

第一个消息的时间戳,指定为日期时间标量。

此属性是只读的。

最后一个消息的时间戳,指定为日期时间标量。

当前消息的时间戳,指定为日期时间标量。

此属性是只读的。

所有消息的时间戳,指定为N-by-1 datetime vector。N所选消息的数量。

此属性是只读的。

选择的总持续时间,指定为持续时间标量,单位为秒。

此属性是只读的。

选定的消息类型,指定为字符串标量。

此属性是只读的。

选择中的消息数,指定为非负整数。

此属性是只读的。

与选择相关联的设备的id,指定为非负整数的向量。

对象的功能

readMessages 阅读来自的消息IbeoIDC (Data Container)文件选择
readNextMessage 阅读来自IbeoIDC (Data Container)文件选择
hasNextMessage 检查是否Ibeo数据容器(IDC)文件选择有下一个消息
重置 重置为第一条消息IbeoIDC (Data Container)文件选择

例子

全部折叠

创建一个ibeoFileReader对象,ibeoReader,从IDC文件中读取消息头信息。替换占位符参数sample_data.idc您的IDC文件的名称为sample_data.idc工具箱中没有提供文件。

ibeereader = ibeoFileReader(“sample_data.idc”
ibeoReader = ibeoFileReader,其属性为:FileName: "C:/Documents/MATLAB/ibeo_data/sample_data. txtidc"开始时间:15-Mar-2020 11:21:04.999434999结束时间:15-Mar-2020 11:25:35.030095000持续时间:00:04:30 FileSummary: CAN 53 msgs [0x1002] scan 53 msgs [0x2205] object 106 msgs [0x2281] image 53 msgs [0x2403] vehicleState 53 msgs [0x2808] measurementList 53 msgs [0x2821] pointCloudPlane 53 msgs [0x7510] unsupported 53 msgs [0x6120] unsupported 53 msgs [0x6970]

创建两个ibeoMessageReader对象,imgReader而且objReader,分别读取首2分钟内的所有图像和物体检测消息选择函数使用适当的消息类型和时间范围值。

timeRange =[0分钟(2)];imgReader = select(ibeereader,“图像”, timeRange);objReader = select(ibeereader,“对象”, timeRange);

方法在前2分钟内读取前10幅图像和所有对象检测消息readMessages各自的函数ibeoMessageReader适当的对象指数而且timeRange参数。读取对象检测消息将返回在线对象和后处理对象及其元数据。

imgs = readMessages(imreader,1:10);[rawObjs,procObjs,rawMetadata,procMetadata] = readMessages(objReader);

创建一个ibeoFileReader对象,ibeoReader,从IDC文件中读取消息头。替换占位符参数sample_data.idc您的IDC文件的名称为sample_data.idc工具箱中没有提供文件。

ibeereader = ibeoFileReader(“sample_data.idc”
ibeoReader = ibeoFileReader,其属性为:FileName: "C:/Documents/MATLAB/ibeo_data/sample_data. txtidc"开始时间:15-Mar-2020 11:21:04.999434999结束时间:15-Mar-2020 11:25:35.030095000持续时间:00:04:30 FileSummary: CAN 53 msgs [0x1002] scan 53 msgs [0x2205] object 106 msgs [0x2281] image 53 msgs [0x2403] vehicleState 53 msgs [0x2808] measurementList 53 msgs [0x2821] pointCloudPlane 53 msgs [0x7510] unsupported 53 msgs [0x6120] unsupported 53 msgs [0x6970]

创建一个ibeoMessageReader对象,imgReader,可在前2分钟内读取所有图像选择函数使用适当的消息类型和时间范围值。

timeRange = [0, minutes(2)];imgReader = select(ibeereader,“图像”, timeRange);

通过一次读取一条消息到视频播放器对象来可视化消息数据。首先,创建一个愿景。放像机对象。然后,使用hasNextMessage函数检查是否imgReader在当前消息之后包含一条消息。如果有,就使用readNextMessage函数将图像读入工作区。

videoPlayer = vision.VideoPlayer;hasNextMessage(imgReader) img = readNextMessage(imgReader);步骤(放像机、img);结束释放(放像机);

重置ibeoMessageReader对象,imgReader,到选择中的第一个消息,使用重置函数。

重置(imgReader);

提示

  • 如果MessageType物业价值为“对象”,如果IDC文件中同时包含在线对象和后处理对象,则开始时间EndTimeCurrentTime时间戳持续时间,NumMessages属性仅由在线对象消息确定。

  • 如果MessageType值是“对象”,且IDC文件只包含后处理的消息时间戳属性对应的是后处理时间,而不是数据收集时间。对于同步目的,请使用MidScanTimeStamp类返回的对象元数据readMessagesreadNextMessage对象的功能。

版本历史

在R2021a中引入

Baidu
map