readMessages

Считайте сообщения из выбора файла Контейнера данных Ibeo (IDC)

Описание

пример

msgs = readMessages(msgReader) чтения все сообщения, доступные в ibeoMessageReader объект, msgReader. Если вход MessageType свойство msgReader isobject, этот синтаксис возвращает онлайновые объектные сообщения.

msgs = readMessages(msgReader,timeRange) сообщения чтений, которые являются в области значений требуемого времени, timeRange.

[___] = readMessages(___,'DeviceID',deviceID) сообщения чтений, которые соответствуют заданному устройству, deviceID, в дополнение к любой комбинации входных параметров от предыдущих синтаксисов.

msgs = readMessages(msgReader,indices) чтения обмениваются сообщениями в заданных линейных индексах, indices.

msgs = readMessages(msgReader,timestamps) читает сообщения с заданными метками времени, timestamps.

[msgs,metadata] = readMessages(___) возвращает метаданные, сопоставленные с выбранными сообщениями. Если MessageType свойство msgReader isobject, затем этот синтаксис не применяется.

[rawMsgs,procMsgs] = readMessages(___) возвращает онлайновые сообщения обнаружения объектов, rawMsgs, и постобработанные сообщения обнаружения объектов, procMsgs, в выборе. Использовать этот синтаксис, MessageType свойство msgReader должен быть 'object'.

[rawMsgs,procMsgs,rawMetadata,procMetadata] = readMessages(___) возвращает метаданные, сопоставленные с rawMsgs и procMsgs. Использовать этот синтаксис, MessageType свойство msgReader должен быть 'object'.

Примеры

свернуть все

Создайте ibeoFileReader объект, ibeoReader, считать заголовки сообщения из файла IDC. Замените аргумент sample_data.idc заполнителя с именем вашего файла IDC как sample_data.idc файлу не предоставляют тулбокс.

ibeoReader = ibeoFileReader('sample_data.idc')
ibeoReader =
 
  ibeoFileReader with properties:
 
       FileName: "C:/Documents/MATLAB/ibeo_data/sample_data.idc"
      StartTime: 15-Mar-2020 11:21:04.999434999
        EndTime: 15-Mar-2020 11:25:35.030095000
       Duration: 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 минуты, соответственно, при помощи select функция с соответствующим типом сообщения и значениями области значений времени.

timeRange = [0 minutes(2)];
imgReader = select(ibeoReader,'image',timeRange);
objReader = select(ibeoReader,'object',timeRange);

Считайте первые 10 изображений и все сообщения обнаружения объектов за первые 2 минуты, при помощи readMessages функция на соответствующем ibeoMessageReader объекты с соответствующим indices и timeRange аргументы. Чтение сообщений обнаружения объектов возвращает и онлайновые объекты и постобработанные объекты наряду с их метаданными.

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

Входные параметры

свернуть все

Передайте читателя в виде ibeoMessageReader объект.

Линейные индексы сообщений, чтобы читать в виде вектора из неотрицательных целых чисел. Максимальное значение индекса, которое может быть задано, соответствует количеству сообщений в выборе, соответствуя NumMessages свойство msgReader.

Метки времени сообщений, чтобы читать в виде M- 1 datetime или вектор длительности. Эта таблица приводит область значений допустимых значений метки времени на основе типа данных:

timestamps Тип данныхМинимальное значениеМаксимальное значение
datetime векторStartTime свойство msgReaderEndTime свойство msgReader
duration вектор0Duration свойство msgReader

Область значений времени сообщений, чтобы считать в виде длительности или вектора datetime из формы [startTime endTime]. Если timeRange вектор длительности, значения startTime и endTime относительно времени начала, заданного StartTime свойство msgReader.

Идентификаторы устройства сообщений, чтобы читать в виде скаляра или вектора из неотрицательных целых чисел. deviceID не может использоваться наряду с индексами или метками времени в качестве второго аргумента. По умолчанию его значение совпадает с DeviceID свойство msgReader.

Выходные аргументы

свернуть все

Сообщения считаны из файла IDC, возвращенного как массив структур, pointCloud массив или массив ячеек. Тип данных определяется MessageType свойство msgReader. Для получения дополнительной информации смотрите Структуру данных сообщений Ibeo и Метаданных.

Метаданные сообщений, возвращенных как массив структур. Поля каждой структуры определяются MessageType свойство msgReader. Для получения дополнительной информации смотрите Структуру данных сообщений Ibeo и Метаданных.

Онлайновые сообщения обнаружения объектов, возвращенные как массив ячеек массива структур. Возвратить этот аргумент, MessageType свойство msgReader должен быть 'object'. Для получения дополнительной информации смотрите Структуру данных сообщений Ibeo и Метаданных.

Постобработанные сообщения обнаружения объектов, возвращенные как массив ячеек массива структур. Возвратить этот аргумент, MessageType свойство msgReader должен быть 'object'. Для получения дополнительной информации смотрите Структуру данных сообщений Ibeo и Метаданных.

Метаданные онлайновых сообщений обнаружения объектов, возвращенных как массив структур. Возвратить этот аргумент, MessageType свойство msgReader должен быть 'object'. Для получения дополнительной информации смотрите Структуру данных сообщений Ibeo и Метаданных.

Метаданные постобработанных сообщений обнаружения объектов, возвращенных как массив структур. Возвратить этот аргумент, MessageType свойство msgReader должен быть 'object'. Для получения дополнительной информации смотрите Структуру данных сообщений Ibeo и Метаданных.

Больше о

свернуть все

Структура данных сообщений Ibeo и метаданных

Следующие вызовы функции иллюстрируют использование readMessages функционируйте, чтобы считать несколько сообщений и их связанные метаданные из файла IDC с помощью ibeoMessageReader объект.

  • [msgs, metadata] = readMessages(msgReader)

  • [rawMsgs, procMsgs, rawMetadata, procMetadata] = readMessages(msgReader)

Эта таблица подсвечивает формат и структуру данных сообщений и метаданных, возвращенных этой функцией, на основе типа сообщения ibeoMessageReader объект.

Тип сообщенияФормат сообщения [msgs, rawMsgs, procMsgs]Формат метаданных [метаданные, rawMetadata, procMetadata]
Скан

pointCloud массив

Массив структур ScanMetaDataStruct

PointCloudPlane

pointCloud массив

Массив структур PointCloudPlaneMetaDataStruct

Изображение

Массив ячеек H t Wt 3 матрицами, где t является меткой времени каждого сообщения.

Массив ячеек объектов ImageMetaDataStruct

Объект

И онлайновые объекты и постобработанные объекты имеют ту же структуру.

Массив ячеек M t-1 массивы структур ObjectStruct, где t является меткой времени каждого сообщения.

Массив структур ObjectMetaDataStruct

VehicleState

Массив структур VehicleStateStruct

Массив структур VehicleStateMetaDataStruct

MeasurementList

Массив ячеек M t-1 массивы структур MeasurementStruct, где t является меткой времени каждого сообщения.

Массив структур MeasurementMetaDataStruct

CAN

Массив структур CANStruct

Массив структур CANMetaDataStruct

Советы

При работе с большими количествами сообщений это имеет пора и требования системной памяти. Рассмотрите читающие меньшие пакеты сообщений или использование readNextMessage возразите функции, чтобы считать сообщения один за другим.

Смотрите также

| |

Введенный в R2021a