splitEachLabel
ImageDatastore のラベルを比率で分割
構文
説明
[
は、imds1,imds2
] = splitEachLabel(imds
,p
)imds
内のイメージ ファイルを 2 つの新しいデータストア imds1
と imds2
に分割します。新しいデータストア imds1
には各ラベルの最初から p
個のファイルが含まれ、imds2
には各ラベルの残りのファイルが含まれます。p
には imds1
に割り当てる各ラベルのファイル数の比率を示す 0 ~ 1 の値、あるいは imds1
に割り当てる各ラベルのファイルの絶対数を示す整数を指定できます。
[
は、データストアを imds1,...,imdsM
] = splitEachLabel(imds
,p1,...,pN
)N+1
個の新しいデータストアに分割します。最初の新しいデータストア imds1
には各ラベルの最初から p1
個のファイルが含まれ、次の新しいデータストア imds2
には次の p2
個のファイルが含まれる、というように分割されます。p1,...,pN
がファイル数を表す場合、その合計は元のデータストア imds
の最小のラベル内にあるファイル数以下でなければなりません。
___ = splitEachLabel(___,'randomized')
は、指定された比率のファイル数を各ラベルから新しいデータストアにランダムに割り当てます。
___ = splitEachLabel(___,
は、1 つ以上の名前と値のペアの引数を使用して新しいデータストアのプロパティを指定します。たとえば、Name,Value
)'Include','labelname'
を使用して分割するラベルを指定できます。
例
ImageDatastore
オブジェクトを作成し、イメージを含むフォルダーの名前に従って各イメージにラベルを付けます。結果のラベル名は demos
と imagesci
になります。
imds = imageDatastore(fullfile(matlabroot, 'toolbox', 'matlab', {'demos','imagesci'}),... 'LabelSource', 'foldernames', 'FileExtensions', {'.jpg', '.png', '.tif'}); imds.Labels
ans = demos demos demos demos demos demos imagesci imagesci
imds
内のファイルから新しいデータストアを 2 つ作成します。最初のデータストア imds60
には、demos
ラベルをもつ最初から 60% のファイルと、imagesci
ラベルをもつ最初から 60% のファイルが含まれます。2 番目のデータストア imds40
には、各ラベルの残り 40% のファイルが含まれます。ラベルに割合を適用した結果が整数のファイル数にならない場合、splitEachLabel
は最も近い 0 または正の整数への切り捨てを行います。
[imds60,imds40] = splitEachLabel(imds,0.6)
imds60 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\cloudCombined.jpg'; ' ...\matlab\toolbox\matlab\demos\example.tif'; ' ...\matlab\toolbox\matlab\demos\landOcean.jpg' ... and 2 more } Labels: [demos; demos; demos ... and 2 more categorical] ReadFcn: @readDatastoreImage imds40 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\street1.jpg'; ' ...\matlab\toolbox\matlab\demos\street2.jpg'; ' ...\matlab\toolbox\matlab\imagesci\peppers.png' } Labels: [demos; demos; imagesci] ReadFcn: @readDatastoreImage
ImageDatastore
オブジェクトを作成し、イメージを含むフォルダーの名前に従って各イメージにラベルを付けます。結果のラベル名は demos
と imagesci
になります。
imds = imageDatastore(fullfile(matlabroot, 'toolbox', 'matlab', {'demos','imagesci'}),... 'LabelSource', 'foldernames', 'FileExtensions', {'.jpg', '.png', '.tif'}); imds.Labels
ans = demos demos demos demos demos demos imagesci imagesci
imds
内のファイルから新しいデータストアを 2 つ作成します。最初のデータストア imds1
には、demos
ラベルをもつ最初のファイルと、imagesci
ラベルをもつ最初のファイルが含まれます。2 番目のデータストア imds2
には、各ラベルの残りのファイルが含まれます。
[imds1,imds2] = splitEachLabel(imds,1)
imds1 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\cloudCombined.jpg'; ' ...\matlab\toolbox\matlab\imagesci\corn.tif' } Labels: [demos; imagesci] ReadFcn: @readDatastoreImage imds2 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\example.tif'; ' ...\matlab\toolbox\matlab\demos\landOcean.jpg'; ' ...\matlab\toolbox\matlab\demos\ngc6543a.jpg' ... and 3 more } Labels: [demos; demos; demos ... and 3 more categorical] ReadFcn: @readDatastoreImage
ImageDatastore
オブジェクトを作成し、イメージを含むフォルダーの名前に従って各イメージにラベルを付けます。結果のラベル名は demos
と imagesci
になります。
imds = imageDatastore(fullfile(matlabroot, 'toolbox', 'matlab', {'demos','imagesci'}),... 'LabelSource', 'foldernames', 'FileExtensions', {'.jpg', '.png', '.tif'}); imds.Labels
ans = demos demos demos demos demos demos imagesci imagesci
imds
内のファイルから新しいデータストアを 3 つ作成します。最初のデータストア imds60
には、demos
ラベルをもつ最初から 60% のファイルと、imagesci
ラベルをもつ最初から 60% のファイルが含まれます。2 番目のデータストア imds10
には、各ラベルから次の 10% のファイルが含まれます。3 番目のデータストア imds30
には、各ラベルの残り 30% のファイルが含まれます。ラベルに割合を適用した結果が整数のファイル数にならない場合、splitEachLabel
は最も近い 0 または正の整数への切り捨てを行います。
[imds60, imds10, imds30] = splitEachLabel(imds,0.6,0.1)
imds60 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\cloudCombined.jpg'; ' ...\matlab\toolbox\matlab\demos\example.tif'; ' ...\matlab\toolbox\matlab\demos\landOcean.jpg' ... and 2 more } Labels: [demos; demos; demos ... and 2 more categorical] ReadFcn: @readDatastoreImage imds10 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\street1.jpg' } Labels: demos ReadFcn: @readDatastoreImage imds30 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\street2.jpg'; ' ...\matlab\toolbox\matlab\imagesci\peppers.png' } Labels: [demos; imagesci] ReadFcn: @readDatastoreImage
ImageDatastore
オブジェクトを作成し、イメージを含むフォルダーの名前に従って各イメージにラベルを付けます。結果のラベル名は demos
と imagesci
になります。
imds = imageDatastore(fullfile(matlabroot, 'toolbox', 'matlab', {'demos','imagesci'}),... 'LabelSource', 'foldernames', 'FileExtensions', {'.jpg', '.png', '.tif'}); imds.Labels
ans = demos demos demos demos demos demos imagesci imagesci
imds
内のファイルから新しいデータストアを 3 つ作成します。最初のデータストア imds1
には、demos
ラベルをもつ最初のファイルと、imagesci
ラベルをもつ最初のファイルが含まれます。2 番目のデータストア imds2
には、各ラベルの次のファイルが 1 つ含まれます。3 番目のデータストア imds3
には、各ラベルの残りのファイルが含まれます。
[imds1, imds2, imds3] = splitEachLabel(imds,1,1)
imds1 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\cloudCombined.jpg'; ' ...\matlab\toolbox\matlab\imagesci\corn.tif' } Labels: [demos; imagesci] ReadFcn: @readDatastoreImage imds2 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\example.tif'; ' ...\matlab\toolbox\matlab\imagesci\peppers.png' } Labels: [demos; imagesci] ReadFcn: @readDatastoreImage imds3 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\landOcean.jpg'; ' ...\matlab\toolbox\matlab\demos\ngc6543a.jpg'; ' ...\matlab\toolbox\matlab\demos\street1.jpg' ... and 1 more } Labels: [demos; demos; demos ... and 1 more categorical] ReadFcn: @readDatastoreImage
ImageDatastore
オブジェクトを作成し、イメージを含むフォルダーの名前に従って各イメージにラベルを付けます。結果のラベル名は demos
と imagesci
になります。
imds = imageDatastore(fullfile(matlabroot, 'toolbox', 'matlab', {'demos','imagesci'}),... 'LabelSource', 'foldernames', 'FileExtensions', {'.jpg', '.png', '.tif'}); imds.Labels
ans = demos demos demos demos demos demos imagesci imagesci
imds
の各ラベルからランダムに抽出されたファイルから、新しいデータストアを 2 つ作成します。最初のデータストア imds1
には、demos
のラベルをもつランダムなファイルが 1 つ、imagesci
のラベルをもつランダムなファイルが 1 つ含まれます。2 番目のデータストア imds2
には、各ラベルの残りのファイルが含まれます。
[imds1, imds2] = splitEachLabel(imds,1,'randomized')
imds1 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\street2.jpg'; ' ...\matlab\toolbox\matlab\imagesci\corn.tif' } Labels: [demos; imagesci] ReadFcn: @readDatastoreImage imds2 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\cloudCombined.jpg'; ' ...\matlab\toolbox\matlab\demos\example.tif'; ' ...\matlab\toolbox\matlab\demos\landOcean.jpg' ... and 3 more } Labels: [demos; demos; demos ... and 3 more categorical] ReadFcn: @readDatastoreImage
ImageDatastore
オブジェクトを作成し、イメージを含むフォルダーの名前に従って各イメージにラベルを付けます。結果のラベル名は demos
と imagesci
になります。
imds = imageDatastore(fullfile(matlabroot, 'toolbox', 'matlab', {'demos','imagesci'}),... 'LabelSource', 'foldernames', 'FileExtensions', {'.jpg', '.png', '.tif'}); imds.Labels
ans = demos demos demos demos demos demos imagesci imagesci
imds
内のファイルから、demos
ラベルをもつファイルのみを含む新しいデータストアを 2 つ作成します。最初のデータストア imds60
には、demos
ラベルをもつ最初から 60% のファイルが含まれます。2 番目のデータストア imds40
には、demos
ラベルをもつ残り 40% のファイルが含まれます。
[imds60, imds40] = splitEachLabel(imds,0.6,'Include','demos')
imds60 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\cloudCombined.jpg'; ' ...\matlab\toolbox\matlab\demos\example.tif'; ' ...\matlab\toolbox\matlab\demos\landOcean.jpg' ... and 1 more } Labels: [demos; demos; demos ... and 1 more categorical] ReadFcn: @readDatastoreImage imds40 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\street1.jpg'; ' ...\matlab\toolbox\matlab\demos\street2.jpg' } Labels: [demos; demos] ReadFcn: @readDatastoreImage
同様に、imagesci
ラベルを除外することにより、demos
ラベルのみを分割できます。
[imds60, imds40] = splitEachLabel(imds,0.6,'Exclude','imagesci')
imds60 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\cloudCombined.jpg'; ' ...\matlab\toolbox\matlab\demos\example.tif'; ' ...\matlab\toolbox\matlab\demos\landOcean.jpg' ... and 1 more } Labels: [demos; demos; demos ... and 1 more categorical] ReadFcn: @readDatastoreImage imds40 = ImageDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\street1.jpg'; ' ...\matlab\toolbox\matlab\demos\street2.jpg' } Labels: [demos; demos] ReadFcn: @readDatastoreImage
入力引数
入力データストア。ImageDatastore
オブジェクトとして指定します。イメージ データから ImageDatstore
を作成するには、関数 imageDatastore
を使用します。
分割するファイルの比率。区間 (0,1) 内のスカラー、あるいは正の整数スカラーとして指定します。
p
が区間 (0,1) 内にある場合は、各ラベルからimds1
に割り当てるファイルの割合を表します。p
によりファイル数が 0 または正の整数にならない場合、splitEachLabel
は最も近い 0 または正の整数に切り捨てます。p
が整数の場合は、各ラベルからimds1
に割り当てるファイルの絶対数を表します。各ラベルにはp
個以上のファイルが関連付けられていなければなりません。
データ型: double
比率のリスト。区間 (0,1) 内のスカラー、あるいは正の整数スカラーとして指定します。比率が区間 (0,1) 内にある場合は、各ラベルから出力データストアに割り当てるファイルの割合を表します。比率が整数の場合は、各ラベルから出力データストアに割り当てるファイルの絶対数を表します。比率が割合を表す場合、その合計は 1 以下でなければなりません。比率がファイル数を表す場合、個々の比率を満たすために十分な数のファイルが各ラベルに関連付けられていなければなりません。
データ型: double
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: [imds1 imds2] = splitEachLabel(imds,0.5,'Exclude','demos')
含めるラベル。'Include'
と、Labels
プロパティと同じ型のラベル名のベクトル、cell 配列または string 配列で構成されるコンマ区切りのペアとして指定します。個々の名前は、データストアの Labels
プロパティ内にあるいずれかのラベルと一致しなければなりません。
データ型: char
| cell
| string
除外するラベル。'Exclude'
と、Labels
プロパティと同じ型のラベル名のベクトル、cell 配列または string 配列で構成されるコンマ区切りのペアとして指定します。個々の名前は、データストアと関連付けられているラベルを定義し、Labels
内の名前と一致しなければなりません。このオプションを 'Include'
オプションと共に使用することはできません。
データ型: char
| cell
| string
出力引数
出力データストア。ImageDatastore
オブジェクトとして返されます。imds1
には imds
の各ラベルから指定比率のファイルが含まれ、imds2
には残りのファイルが含まれます。
出力データストアのリスト。ImageDatastore
オブジェクトとして返されます。リストの要素数は、リストされた比率の個数より 1 大きい数です。新しい各データストアは、imds
の各ラベルを p1,...,pN
で定義された比率で含みます。残りのファイルはすべて、M 番目のデータストアに割り当てられます。
拡張機能
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2016a で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)