readNextMessage

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

Описание

пример

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

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

[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 объект.

Тип сообщенияФормат сообщения [сообщение, 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-by-1 массив структур MeasurementStruct, где M является количеством измерений

MeasurementMetaDataStruct

CAN

CANStruct

CANMetaDataStruct

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

| | | |

Введенный в R2021a