groundTruthDataSource

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

Описание

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

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

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

Создание

Описание

Отобразите источник Datastore

gtSource = groundTruthDataSource(imds) возвращает исходный объект достоверных данных для imageDatastore заданный imds.

Набор источника изображений

пример

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.

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

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

Отобразите datastore в виде imageDatastore объект.

Имена файла образа в виде массива строк или массива ячеек из символьных векторов. Изображения должны быть в формате файла, читаемом 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 свойство остается пустым.

.

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

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

Примеры

свернуть все

Загрузите имена файлов коллекции изображений.

imageDir = fullfile(matlabroot,'toolbox','vision','visiondata','bookCovers');
imds = imageDatastore(imageDir);

Создайте источник данных из datastore изображений.

dataSource = groundTruthDataSource(imds);

Считайте и отобразите изображение от datastore.

I = read(dataSource.Source);
figure,imshow(I)

Figure contains an axes object. The axes object contains an object of type image.

Используйте 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)

Figure contains an axes object. The axes object contains an object of type image.

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

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

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)

Figure contains an axes object. The axes object contains an object of type image.

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

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

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

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

imgDataStore = imageDatastore(imgFolder);

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

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

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

dataSource = groundTruthDataSource(imgFolder,readerFcn,1:5)
dataSource = 
groundTruthDataSource for a custom data source with properties

        Source: ...bd/build/matlab/toolbox/vision/visiondata/building
    TimeStamps: [5x1 duration]

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

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

Figure contains an axes object. The axes object contains an object of type image.

Советы

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

Введенный в R2017a