exponenta event banner

groundTruthDataSource

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

Описание

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

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

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

Создание

Описание

Источник хранилища данных изображения

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.

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

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

Хранилище данных изображения, указанное как 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);

Создание источника данных из хранилища данных образа.

dataSource = groundTruthDataSource(imds);

Чтение и отображение изображения из хранилища данных.

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]

Создайте VideyReader для чтения видеокадров.

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.

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

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

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

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

imgDataStore = imageDatastore(imgFolder);

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

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

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

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