ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

subset

データ ストアまたはファイル セットのサブセットを作成

説明

subds = subset(ds,indices) は、indices に対応するファイルを含むサブセットを返します。サブセット subds のタイプは、入力と同じになります。

  • 入力 ds がデータ ストアの場合、出力 outds は同じタイプのデータ ストア。

  • 入力 dsDsFileSet オブジェクトの場合、出力 subdsDsFileSet オブジェクト。

すべて折りたたむ

イメージの datastore オブジェクトを作成してから、そのイメージ データ ストアのサブセットを作成します。

サンプル フォルダー内のすべてのイメージ ファイル用のイメージ データ ストア imds を作成します。次に、imdsFiles プロパティを表示します。

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'   }

imds の最初の 4 つのファイルを含むサブセット データ ストア subimds を作成し、subimdsFiles プロパティを確認します。

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

indices を使用してサブセット データ ストア submids を作成し、その 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 オブジェクトとして指定します。

サブセットに含めるファイルのインデックス。インデックスのベクトルまたは logical ベクトルとして指定します。

  • インデックスのベクトルには、サブセット subds に含めるファイルのインデックスを含めなければならない。

  • logical ベクトルの長さは、入力 ds のファイル数と同じでなければならない。subset メソッドは、値 true をもつ logical ベクトルの要素に対応するファイルを含むサブセット subds を作成します。

indices の要素は一意でなければなりません。

データ型: double | logical

R2019a で導入