このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
combine
複数のデータストアのデータを統合
説明
dsnew = combine(
は、入力データストアについて関数 ds1,ds2,...,dsN
)read
が返したデータを使用し、複数のデータストアを統合して CombinedDatastore
オブジェクトを作成します。
dsnew = combine(
は、指定された読み取り順序に基づいて複数のデータストアを統合します。読み取り順序によって、ds1,ds2,...,dsN
,ReadOrder=order
)CombinedDatastore
オブジェクトまたは SequentialDatastore
オブジェクトのいずれが作成されるかが決まります。
例
データストアの統合
基となるデータストアのイメージ ペア間のパリティを維持するデータストアを作成します。たとえば、2 つのイメージ データストアを個別に作成してから、2 つのイメージ データストアから対応するイメージを読み取る統合データストアを作成します。
3 つのイメージの集合を表すデータストア imds1
を作成します。
imds1 = imageDatastore({'street1.jpg','street2.jpg','peppers.png'});
imds1
のイメージをグレースケール イメージに変換して、2 つ目のデータストア imds2
を作成します。
imds2 = transform(imds1,@(x) im2gray(x));
imds1
と imds2
から統合データストアを作成します。
imdsCombined = combine(imds1,imds2);
統合データストアから最初のイメージのペアを読み取ります。この統合データストアに対する個々の読み取り処理によって、1
行 2
列の cell 配列で表されるイメージのペアが返されます。
dataOut = read(imdsCombined)
dataOut=1×2 cell array
{480x640x3 uint8} {480x640 uint8}
統合データストアからの最初の読み取りの出力を表示します。
imshow(imtile(dataOut));
データストアの順次統合
2 つのイメージ データストアから交互に読み取るデータストアを作成します。
2 つのイメージの集合を表す ImageDatastore
ds1
を作成します。次に、ds1
のイメージをグレースケール イメージに変換して、2 つ目の ImageDatastore
ds2
を作成します。ds1
と ds2
を統合して SequentialDatastore
オブジェクトを作成します。
ds1 = imageDatastore(["peppers.png","street2.jpg"]); ds2 = transform(ds1,@(x) im2gray(x)); dsseq = combine(ds1,ds2,ReadOrder="sequential");
SequentialDatastore
オブジェクトから最初の 3 つのイメージを読み取ります。この SequentialDatastore
オブジェクトの読み取り処理を行うたびに、1 行 1 列の cell 配列で表される単一のイメージが返されます。
img1 = read(dsseq); img2 = read(dsseq); img3 = read(dsseq);
入力引数
ds1,ds2,...,dsN
— 統合対象のデータストア
datastore オブジェクト
統合対象のデータストア。2 つ以上の datastore オブジェクトをコンマで区切って指定します。組み込みデータストアの完全な一覧については、ファイル形式またはアプリケーション用のデータ ストアの選択を参照してください。カスタム データストアも指定できます。
order
— データを読み取る順序
"associated"
(既定値) | "sequential"
データを読み取る順序。"associated"
または "sequential"
として指定します。
"associated"
はCombinedDatastore
オブジェクトを作成します。これは、基となる各データストアからの読み取り処理の結果を水平方向に連結したものです。"sequential"
はSequentialDatastore
オブジェクトを作成します。これは、基となるデータストアから順次読み取りますが、連結を行いません。
拡張機能
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
使用上の注意事項および制限事項:
スレッドベースの環境では、次のデータストアでのみ
combine
を使用できます。ImageDatastore
オブジェクトcombine
またはtransform
を使用してImageDatastore
オブジェクトから作成するCombinedDatastore
、SequentialDatastore
、またはTransformedDatastore
オブジェクト
Parallel Computing Toolbox™ がある場合は、他のデータストアで
combine
を使用できます。これを行うには、backgroundPool
またはThreadPool
を使用する代わりに、プロセスベースの並列プールを使用して関数を実行します (ProcessPool
またはClusterPool
を使用します)。
詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2019a で導入R2022b: 複数のデータストアからのデータの順次読み取り
複数のデータストアからデータを順次読み取りますが、連結を行いません。
参考
CombinedDatastore
| SequentialDatastore
| read
| readall
| reset
| hasdata
| preview
| transform
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)