exponenta event banner

readNextMessage

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

Описание

пример

msg = readNextMessage(msgReader) считывает следующее сообщение из выбора сообщений, доступных в ibeoMessageReader объект, msgReader. По умолчанию readNextMessage начинает чтение с первого сообщения в выборке и считывает последующие сообщения во время последовательных вызовов, вплоть до последнего доступного сообщения. Чтобы вернуть чтение к первому сообщению, используйте reset метод на ibeoMessageReader объект. Если MessageType имущество msgReader является 'object', этот синтаксис возвращает следующее сообщение об оперативном объекте.

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

[rawMsg,procMsg] = readNextMessage(msgReader) возвращает следующее интерактивное сообщение об обнаружении объекта, rawMsgи постобработанное сообщение об обнаружении объекта, procMsg, в выделенной области. Чтобы использовать этот синтаксис, MessageType имущество msgReader должно быть 'object'.

[rawMsg,procMsg,rawMetadata,procMetadata] = readNextMessage(msgReader) возвращает метаданные, связанные с, rawMsg и procMsg. Чтобы использовать этот синтаксис, MessageType имущество msgReader должно быть 'object'.

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

Примеры

свернуть все

Создание 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, чтобы прочитать все изображения в первые 2 минут, используя select с соответствующим типом сообщения и значениями временного диапазона.

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

Визуализируйте данные сообщения, считывая сообщения по одному на объект видеопроигрывателя. Сначала создайте vision.VideoPlayer объект. Затем используйте hasNextMessage функция для проверки imgReader содержит сообщение после текущего. Если это так, используйте readNextMessage для чтения изображений в рабочую область.

videoPlayer = vision.VideoPlayer;
while hasNextMessage(imgReader)
    img = readNextMessage(imgReader);
    step(videoPlayer,img);
end
release(videoPlayer);
     

Сбросить ibeoMessageReader объект, imgReader, к первому сообщению в выборке, используя reset функция.

 reset(imgReader);

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

свернуть все

Устройство чтения сообщений, указанное как ibeoMessageReader объект.

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

свернуть все

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

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

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

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

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

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

Подробнее

свернуть все

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

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

  • [msg, metadata] = readNextMessage(msgReader)

  • [rawMsg, procMsg, rawMetadata, procMetadata] = readNextMessage(msgReader)

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

Тип сообщенияФормат сообщения [msg, rawMsg, procMsg]Формат метаданных [метаданные, rawMetadata, procMetadata]
Просмотр

pointCloud

ScanMetaDataStruct

PointCloudPlane

pointCloud

PointCloudPlaneMetaDataStruct

Изображение

H-by-W-by-3 массив, где H и W - высота и ширина изображения.

Объект ImageMetaDataStruct

Объект

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

M-by-1 структурный массив ObjectStruct, где M - количество обнаруженных объектов

ObjectMetaDataStruct

VehicleState

VehicleStateStruct

VehicleStateMetaDataStruct

MeasurementList

Множество структуры M-1 MeasurementStruct, где M - количество измерений

MeasurementMetaDataStruct

МОЖЕТ

CANStruct

CANMetaDataStruct

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