exponenta event banner

ibeoMessageReader

Объект для чтения содержимого сообщения из файла контейнера данных Ibeo (IDC)

Описание

ibeoMessageReader объект является индексированным выбором сообщений в IDC-файле Ibeo ®. Этот объект используется для чтения содержимого сообщения из файла IDC. КаждыйibeoMessageReader объект содержит содержимое только для сообщений выбранного типа из ibeoFileReader объект.

Создание

Создание ibeoMessageReader объект, используйте select объектная функция ibeoFileReader объект.

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

Свойства

развернуть все

Это свойство доступно только для чтения.

Абсолютный путь к файлу IDC, указанный как строковый скаляр.

Это свойство доступно только для чтения.

Метка времени первого сообщения, заданная как скаляр datetime.

Это свойство доступно только для чтения.

Метка времени последнего сообщения, указанная как скаляр datetime.

Метка времени текущего сообщения, указанная как скаляр datetime.

Это свойство доступно только для чтения.

Временные метки всех сообщений, указанные как N-by-1 вектор datetime. N - количество сообщений в выборке.

Это свойство доступно только для чтения.

Общая продолжительность выделения, заданная как скаляр длительности в секундах.

Это свойство доступно только для чтения.

Выбранный тип сообщения, указанный как строковый скаляр.

Это свойство доступно только для чтения.

Количество сообщений в выделенном фрагменте, указанное как неотрицательное целое число.

Это свойство доступно только для чтения.

Идентификаторы устройств, связанных с выделением, указаны как вектор неотрицательных целых чисел.

Функции объекта

readMessagesЧтение сообщений из списка выбора файлов контейнера данных Ibeo (IDC)
readNextMessageЧтение следующего сообщения из выбора файла контейнера данных Ibeo (IDC)
hasNextMessageПроверьте, содержит ли выбор файла контейнера данных Ibeo (IDC) следующее сообщение
resetСброс до первого сообщения при выборе файла контейнера данных Ibeo (IDC)

Примеры

свернуть все

Создание 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);

Создание 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);

Совет

  • Если MessageType значение свойства - 'object'и если IDC-файл содержит как интерактивные, так и постобработанные объекты, StartTime, EndTime, CurrentTime, Timestamps, Duration, и NumMessages свойства определяются только сообщениями интерактивного объекта.

  • Если MessageType значение равно 'object', а IDC-файл содержит только постобработанные сообщения, Timestamps свойство соответствует времени постобработки, а не времени сбора данных. Для синхронизации используйте MidScanTimeStamp из метаданных объекта, возвращенных readMessages или readNextMessage объектная функция.

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