ibeoFileReader

Чтение заголовков сообщений из файла IBEO Data Container (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 Data Container (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, некоторые поля могут содержать пустые или случайные данные.

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

Введенный в R2021a