subset

Создайте подмножество datastore или установленный на файл

Синтаксис

Описание

пример

subds = subset(ds,indices) возвращает подмножество, содержащее файлы, соответствующие indices. Подмножество subds имеет тот же тип как вход.

  • если вход ds datastore, затем выход outds datastore того же типа.

  • если вход ds DsFileSet, FileSet, или BlockedFileSet объект, затем выход subds также, соответственно, DsFileSet, FileSet, или BlockedFileSet объект.

Примеры

свернуть все

Заставьте datastore изображений возразить и затем создать подмножество того datastore изображений.

Создайте datastore изображений imds для всех файлов изображений в демонстрационной папке. Затем отобразите Files свойство imds.

folders = fullfile(matlabroot,'toolbox','matlab',{'demos','imagesci'});
exts = {'.jpg','.png','.tif'};
imds = imageDatastore(folders,'LabelSource','foldernames','FileExtensions',exts);
imds.Files
ans =

  8×1 cell array

    {'...\matlab\toolbox\matlab\demos\cloudCombined.jpg'}
    {'...\matlab\toolbox\matlab\demos\example.tif'      }
    {'...\matlab\toolbox\matlab\demos\landOcean.jpg'    }
    {'...\matlab\toolbox\matlab\demos\ngc6543a.jpg'     }
    {'...\matlab\toolbox\matlab\demos\street1.jpg'      }
    {'...\matlab\toolbox\matlab\demos\street2.jpg'      }
    {'...\matlab\toolbox\matlab\imagesci\corn.tif'      }
    {'...\matlab\toolbox\matlab\imagesci\peppers.png'   }

Создайте datastore подмножества subimds это содержит первые четыре файла imds и исследуйте Files свойство subimds.

indices = 1:4; 
subimds = subset(imds,indices); 
subimds.Files
ans =

  4×1 cell array

    {'...\matlab\toolbox\matlab\demos\cloudCombined.jpg'}
    {'...\matlab\toolbox\matlab\demos\example.tif'      }
    {'...\matlab\toolbox\matlab\demos\landOcean.jpg'    }
    {'...\matlab\toolbox\matlab\demos\ngc6543a.jpg'     }

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

Создайте imageDatastore для всех файлов изображений в демонстрационной папке и отображении Files свойство. Этот datastore содержит 8 файлов.

folders = fullfile(matlabroot,'toolbox','matlab',{'demos','imagesci'});
exts = {'.jpg','.png','.tif'};
imds = imageDatastore(folders,'LabelSource','foldernames','FileExtensions',exts);
imds.Files
ans =

  8×1 cell array

    {'...\matlab\toolbox\matlab\demos\cloudCombined.jpg'}
    {'...\matlab\toolbox\matlab\demos\example.tif'      }
    {'...\matlab\toolbox\matlab\demos\landOcean.jpg'    }
    {'...\matlab\toolbox\matlab\demos\ngc6543a.jpg'     }
    {'...\matlab\toolbox\matlab\demos\street1.jpg'      }
    {'...\matlab\toolbox\matlab\demos\street2.jpg'      }
    {'...\matlab\toolbox\matlab\imagesci\corn.tif'      }
    {'...\matlab\toolbox\matlab\imagesci\peppers.png'   }

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

nFiles = length(imds.Files);
RandIndices = randperm(nFiles);
nSixtyPercent = round(0.6*nFiles);
indices = RandIndices(1:nSixtyPercent)
indices =

     8     6     4     5     1

Создайте datastore подмножества submids использование indices и исследуйте его Files свойство.

subimds = subset(imds,indices); 
subimds.Files
ans =

  5×1 cell array

    {'...\matlab\toolbox\matlab\imagesci\peppers.png'   }
    {'...\matlab\toolbox\matlab\demos\street2.jpg'      }
    {'...\matlab\toolbox\matlab\demos\ngc6543a.jpg'     }
    {'...\matlab\toolbox\matlab\demos\street1.jpg'      }
    {'...\matlab\toolbox\matlab\demos\cloudCombined.jpg'}

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

свернуть все

Введите datastore или установленный на файл в виде ImageDatastore, DsFileSet, FileSet, BlockedFileSetобъект.

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

  • Вектор из индексов должен содержать индексы файлов, чтобы включать в подмножество subds.

  • Логический вектор должен иметь ту же длину как количество файлов во входе ds. subset метод создает подмножество subds содержа файлы, соответствующие элементам в логическом векторе, которые имеют значение true.

Элементы indices должно быть уникальным.

Типы данных: double | logical

Введенный в R2019a