exponenta event banner

выбрать

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

Описание

Использовать select объектная функция для задания подмножества сообщений для чтения из IDC-файла на основе типа сообщения, идентификатора сообщения или идентификатора устройства. select метод возвращает ibeoMessageReader объект, который может использоваться для чтения выбранных сообщений из файла IDC. Ниже перечислены поддерживаемые значения для типа сообщения и идентификатора сообщения. Для чтения требуется лицензия Lidar Toolbox™ scan и pointCloudPlane сообщения.

Тип сообщения Идентификатор сообщенияИмя типа данных Ibeo ®
'scan''0x2205' Данные сканирования Ibeo FUSION SYSTEM/ECU
'pointCloudPlane''0x7510'Плоскость облака точек Ibeo
'image''0x2403'Изображение Ibeo FUSION SYSTEM/ECU
'object''0x2281'Данные объекта Ibeo FUSION SYSTEM/ECU
'vehicleState''0x2808'Состояние транспортного средства Ibeo FUSION SYSTEM/ECU
'measurementList''0x2821'Список измерений Ibeo FUSION SYSTEM/ECU
'CAN''0x1002'Сообщения Ibeo FUSION SYSTEM/ECU CAN

пример

msgReader = select(ibeoReader,msgType) создает ibeoMessageReader объект, msgReader, которые могут читать все сообщения типа, msgType, присутствует в ibeoFileReader объект, ibeoReader.

msgReader = select(ibeoReader,msgID) создает ibeoMessageReader объект, msgReader. который может считывать все сообщения с идентификатором, msgID, присутствует в ibeoFileReader объект.

msgReader = select(___,timeRange) задает временной диапазон, в пределах которого ibeoMessageReader объект может считывать сообщения в дополнение к любой комбинации аргументов из предыдущих синтаксисов.

msgReader = select(___,'DeviceID',deviceID) указывает идентификатор устройства, соответствующий ibeoMessageReader объект может считывать сообщения в дополнение к любой комбинации аргументов из предыдущих синтаксисов.

Примеры

свернуть все

Создание 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 , соответствующий считываемому IDC-файлу.

Тип сообщения для чтения из IDC-файла, указанный как строковый скалярный или символьный вектор. Конкретный msgType значения соответствуют типам данных Ibeo, как показано в таблице.

Идентификатор сообщения типа сообщения, подлежащего считыванию из IDC-файла, указанный как строковый скалярный или символьный вектор. Конкретный msgID значения соответствуют типам данных Ibeo, как показано в таблице.

Временной диапазон, в котором должны считываться сообщения, указанный как вектор duration или datetime формы [startTime endTime]. Если timeRange - вектор длительности, startTime и endTime относительно времени начала, указанного StartTime имущество ibeoReader.

Идентификаторы считываемых сообщений, определяемые как скаляр или вектор неотрицательных целых чисел. Список идентификаторов устройств, которые можно выбрать, см. в разделе DeviceID столбец таблицы, хранящейся в FileSummary имущество ibeoReader.

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

свернуть все

Средство чтения сообщений, возвращенное как ibeoMessageReader объект. Этот объект считывает выбранные сообщения из файла IDC.

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