groundTruthDataSource

Объект для хранения источников достоверных данных

Описание

groundTruthDataSource объект задает источник достоверных данных. Используйте этот объект задать источник данных для groundTruth объект. Чтобы пометить источник данных, загрузите groundTruthDataSource объект в приложение для маркировки.

  • Image Labeler поддерживает источники данных для наборов изображений.

  • Video Labeler и Ground Truth Labeler (требует Automated Driving Toolbox™), источники данных поддержки приложений для видео и последовательностей изображений. Эти приложения также поддерживают пользовательские источники данных.

Создание

Описание

пример

gtSource = groundTruthDataSource(imageFiles) возвращает исходный объект достоверных данных для набора изображений, заданных imageFiles. Изображения должны быть в формате файла, читаемом imread.

gtSource = groundTruthDataSource(videoName) возвращает исходный объект достоверных данных для видеофайла, заданного videoName. Видео должны быть в формате файла, читаемом VideoReader.

пример

gtSource = groundTruthDataSource(imageSeqFolder) возвращает исходный объект достоверных данных для последовательности изображений, расположенной в папке, заданной imageSeqFolder.

gtSource = groundTruthDataSource(imageSeqFolder,timeStamps) возвращает исходный объект достоверных данных для последовательности изображений с соответствующей меткой времени для каждого изображения, содержавшегося в заданной папке. timeStamps устанавливает TimeStamps свойство.

пример

gtSource = groundTruthDataSource(sourceName,readerFcn,timeStamps) возвращает исходный объект достоверных данных при помощи пользовательского указателя на функцию читателя, readerFcn. sourceName устанавливает Source свойство и timeStamps установите TimeStamps свойство. Пользовательская функция читателя загружает изображение от sourceName это соответствует текущей метке времени, заданной в duration векторный timeStamps.

Входные параметры

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

Имена файла образа, заданные как массив строк или массив ячеек из символьных векторов. Изображения должны быть в формате файла, читаемом imread. Для списка форматов поддерживаемого файла изображения смотрите imformats.

Имя видеофайла, заданного как скаляр строки или вектор символов. Видео должны быть в формате файла, читаемом VideoReader. Для списка поддерживаемых форматов видеофайла смотрите VideoReader.getFileFormats. Если ваш формат видео не поддержан, задайте пользовательскую функцию читателя, readerFcn.

Папка последовательности изображений, заданная как скаляр строки или вектор символов. Расширения имени файлов изображений должны поддерживаться imformats. Если ваш формат видео не поддержан, задайте пользовательскую функцию читателя, readerFcn.

Изображения загружаются в порядке, возвращенном dir команда.

Пользовательская функция читателя, определенный функцией указатель. Пользовательская функция читателя должна загрузить изображение из источника в заданной метке времени при помощи этого синтаксиса:

outputImage = readerFcn(sourceName,currentTimeStamp)
  • readerFcn имя вашей пользовательской функции читателя.

  • sourceName имя источника данных.

  • currentTimeStamp текущая метка времени, как задано входным вектором timeStamp.

outputImage возвращенный пользовательской функцией должна быть шкала полутонов или изображение RGB в любом формате, поддержанном imshow. Для получения дополнительной информации смотрите Использование Пользовательский Читатель Источника данных для Разметки достоверных данных.

Свойства

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

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

Метки времени видео или последовательности изображений, заданной как duration вектор.

  • Для видеофайла, TimeStamps автоматически заполняется с метками времени, которые присутствуют для видеокадров.

  • Для последовательности изображений или пользовательского читателя, TimeStamps заполняется со значениями во входе duration векторный timeStamps.

  • Для коллекции изображений, TimeStamps свойство остается пустым.

.

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

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

Примеры

свернуть все

Используйте groundTruthDataSource объект создать источник данных.

Считайте видеофайл и создайте источник данных.

videoName = 'vipunmarkedroad.avi';
dataSource = groundTruthDataSource(videoName)
dataSource = 
groundTruthDataSource for a video file with properties

        Source: ...tlab/toolbox/vision/visiondata/vipunmarkedroad.avi
    TimeStamps: [84x1 duration]

Создайте VideoReader, чтобы считать видеокадры.

reader = VideoReader(videoName);

Считайте 5-ю систему координат в видео и отображении

 timeStamp = seconds(dataSource.TimeStamps(5));
 reader.CurrentTime = timeStamp;
 I = readFrame(reader);
 
 figure
 imshow(I)

Создайте источник достоверных данных из последовательность изображений, сохраненная в заданной папке.

Задайте папку, содержащую последовательность изображений.

imageDir = fullfile(matlabroot,'toolbox','vision',...
        'visiondata','building');

Создайте источник данных для изображений, которые находятся в imageDir папка.

    dataSource = groundTruthDataSource(imageDir)
dataSource = 
groundTruthDataSource for a video as an image sequence with properties

                      Source: {
                              ' .../build/matlab/toolbox/vision/visiondata/building/building1.JPG';
                              ' .../build/matlab/toolbox/vision/visiondata/building/building2.JPG';
                              ' .../build/matlab/toolbox/vision/visiondata/building/building3.JPG'
                               ... and 2 more
                              }
                  TimeStamps: [5x1 duration]

Считайте 5-ю систему координат в последовательности.

    I = imread(dataSource.Source{5});
    figure
    imshow(I)

Создайте источник достоверных данных с помощью пользовательского читателя.

Задайте каталог образов, содержащий последовательность дорожных изображений.

imageDir = fullfile(matlabroot,'toolbox','vision','visiondata','building');

Используйте хранилище данных изображения в качестве пользовательского источника данных.

imgDataStore = imageDatastore(imageDir);

Запишите функцию читателя, чтобы считать изображения из источника данных. Первый входной параметр, sourceName,из пользовательской функции читателя, readerFcn, не используется. 2-й вход, currentTimeStamp, преобразован от скаляра длительности до индекса на основе 1, подходящего для источника данных.

readerFcn = @(~,idx)readimage(imgDataStore,seconds(idx));

Создайте источник данных для изображений в imageDir папка с помощью readerFcn.

dataSource = groundTruthDataSource(imageDir,readerFcn,1:5)
dataSource = 
  groundTruthDataSource with properties:

        Source: ...471_pass\matlab\toolbox\vision\visiondata\building
    TimeStamps: [5×1 duration]

Считайте 5-ю систему координат в последовательности.

I = readerFcn(imageDir,seconds(5));
figure
imshow(I)

Советы

  • groundTruth объекты для основанного на видео groundTruthDataSource объекты используют возможности чтения видео вашей операционной системы. groundTruth созданное использование объекта источника видеоданных остается сопоставимым только для той же платформы, которая использовалась, чтобы создать его. Создать специфичный для платформы groundTruth объект, преобразуйте видео в последовательность изображений.

Введенный в R2017a