groundTruthDataSource

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

Описание

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

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

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

Создание

Описание

Изображение Image 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) возвращает исходный объект достоверных данных с помощью пользовательского указателя на функцию Reader, readerFcn. sourceName устанавливает Source свойство и timestamps установите TimeStamps свойство. Функция пользовательского считывателя загружает изображение из sourceName который соответствует текущей временной метке, указанной в duration векторная timestamps.

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

расширить все

Image datastore, заданный как imageDatastore объект.

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

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

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

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

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

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

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

  • currentTimestamp - текущая временная метка, заданная вектором входа timestamp.

The 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. The axes 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. The axes 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. The axes contains an object of type image.

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

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

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

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

imgDataStore = imageDatastore(imgFolder);

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

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

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

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

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

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

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

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

Совет

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

Введенный в R2017a