ibeoMessageReader

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

Описание

ibeoMessageReader объект является индексируемым выбором сообщений в файле Ibeo® IDC. Используйте этот объект считать содержимое сообщения из файла 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Время окончания'CurrentTime' , Timestampsдлительность, и NumMessages свойства определяются только онлайновыми объектными сообщениями.

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

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

| | |

Введенный в R2021a