exponenta event banner

readMessages

Чтение сообщений из списка выбора файлов контейнера данных Ibeo (IDC)

Описание

пример

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

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

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

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

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

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

[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-by-1 datetime или duration vector. В этой таблице приведен диапазон допустимых значений временных меток на основе типа данных:

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

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

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

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

свернуть все

Сообщения, считанные из IDC-файла, возвращаемые в виде массива структур, «» Cloud «» или массива ячеек. Тип данных определяется 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 множество

Структурный массив (STRUCT)

Изображение

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

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

Объект

Как интерактивные, так и постобработанные объекты имеют одинаковую структуру.

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

Структурный массив ObjectMetaDataStruct

VehicleState

Структурный массив VehicleStateStruct

Структурный массив VehicleStateMetaDataStruct

MeasurementList

Массив ячеек Mt-by-1 массивов структуры MeasureStruct, где t - временная метка каждого сообщения.

Структурный массив MeasomMetaDataStruct

МОЖЕТ

Структурный массив CANStruct

Структурный массив CANMetaDataStruct

Совет

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

Представлен в R2021a