TransformedDatastore

Datastore, чтобы преобразовать базовый datastore

Описание

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

Создание

Можно создать объект TransformedDatastore с помощью функции transform. Например, dsnew = transform(ds,@fcn) создает datastore, который преобразовывает datastore ds с помощью функции преобразования fcn.

Свойства

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

Базовый datastore, заданный как объект datastore.

Набор функций преобразования, заданных как cell-массив указателей на функцию.

Типы данных: cell

Включайте информацию от функции read, заданной как логический вектор. Для каждого значения IncludeInfo, который является true, преобразованное использование datastore, альтернативная подпись соответствия преобразовывает функцию в transformSet.

Функция read возвращает информацию об извлеченных данных в struct info. Для получения дополнительной информации смотрите, что read функционирует страница.

Типы данных: логический

Функции объекта

combineОбъедините данные от нескольких datastores
hasdataОпределите, доступны ли данные для чтения
previewПодмножество данных в datastore
readСчитайте данные в datastore
readallСчитывайте все данные в datastore
resetСброс Datastore к начальному состоянию
transformПреобразуйте datastore

Примеры

свернуть все

Создайте datastore для набора изображений и примените то же преобразование ко всем изображениям в datastore. Например, измените размер всех изображений в наборе к заданному целевому размеру.

Создайте ImageDatastore с двумя изображениями.

imds = imageDatastore({'street1.jpg','peppers.png'})
imds = 
  ImageDatastore with properties:

                       Files: {
                              ' .../devel/bat/BR2019ad/build/matlab/toolbox/matlab/demos/street1.jpg';
                              ' .../devel/bat/BR2019ad/build/matlab/toolbox/matlab/imagesci/peppers.png'
                              }
    AlternateFileSystemRoots: {}
                    ReadSize: 1
                      Labels: {}
                     ReadFcn: @readDatastoreImage

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

img1 = read(imds); % reads the first image
img2 = read(imds); % reads the next image
whos img1 img2
  Name        Size                Bytes  Class    Attributes

  img1      480x640x3            921600  uint8              
  img2      384x512x3            589824  uint8              

Преобразуйте все изображения в datastore к заданному целевому размеру.

targetSize = [224,224];
imdsReSz = transform(imds,@(x) imresize(x,targetSize));

Считайте изображения и отобразите их размеры.

imgReSz1 = read(imdsReSz);
imgReSz2 = read(imdsReSz);
whos imgReSz1 imgReSz2
  Name            Size                Bytes  Class    Attributes

  imgReSz1      224x224x3            150528  uint8              
  imgReSz2      224x224x3            150528  uint8              

Отобразите измененные изображения.

subplot(121); imshow(imgReSz1); axis on; title('Resized Street1.jpg');
subplot(122); imshow(imgReSz2); axis on; title('Resized peppers.png');

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

Введенный в R2019a

Для просмотра документации необходимо авторизоваться на сайте