exponenta event banner

подмножество

Создание подмножества хранилища данных или набора файлов

Описание

пример

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

  • если вход ds является хранилищем данных, то выходные данные outds является хранилищем данных того же типа.

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

Примеры

свернуть все

Создайте объект хранилища данных изображения, а затем создайте подмножество этого хранилища данных изображения.

Создание хранилища данных образа 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'   }

Создание хранилища данных подмножества 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'     }

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

Создать imageDatastore для всех файлов изображений в папке образца и отобразить Files собственность. Это хранилище данных содержит 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

Создание хранилища данных подмножества 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'}

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

свернуть все

Хранилище входных данных или набор файлов, указанный как ImageDatastore, DsFileSet, FileSet, BlockedFileSetобъект.

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

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

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

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

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

Представлен в R2019a