exponenta event banner

ibeoFileReader

Чтение заголовков сообщений из файла IDC

Описание

Компания Ibeo ® Automotive Systems является производителем устройств на основе датчиков лидара. Данные от различных датчиков, таких как датчики лидара и камеры, захваченные этими устройствами, хранятся в файлах Ibeo Data Container (IDC). ОдинibeoFileReader объект считывает заголовки сообщений, связанные с различными датчиками в IDC-файле. Используйте select объектная функция для выбора сообщений определенного типа для чтения из ibeoFileReader объект.

Создание

Описание

пример

ibeoReader = ibeoFileReader(fileName) создает ibeoFileReader объект, ibeoReader, которая считывает заголовки сообщений из указанного файла IDC.

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

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

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

Свойства

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

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

Абсолютный путь к считываемому IDC-файлу, указанный как строка.

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

Метка времени первого сообщения в IDC-файле с точностью до наносекунды.

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

Метка времени последнего сообщения в IDC-файле, заданная как скаляр datetime. Это значение точно до наносекунды.

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

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

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

Таблица со столбцами NumMessages, MessageID, и DeviceID. Строки таблицы именуются на основе типов сообщений в IDC-файле, которые поддерживаются для чтения.

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

selectВыберите подмножество сообщений для чтения из файла контейнера данных 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);

Ограничения

  • ibeoFileReader предназначен для использования со спецификацией интерфейса Ibeo версии 1.50. При чтении старых версий файлов IDC некоторые поля могут содержать пустые или случайные данные.

  • StartTime, EndTime, и Duration свойства не включают время поступления постобработанных сообщений объекта.

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